我有一个适用于iPhone 3.1.x版本的音频应用程序.
我正在尝试将其升级到iOS4.0以在多任务环境中工作.当我尝试创建新UIBackgroundModes密钥时info.plist,它("所需背景模式")不会显示在下拉列表中?
我还将Xcode SDK升级到3.2.3,Base SDK升级到4.0,部署目标升级到4.0但仍然UIBackgroundModes("所需背景模式")将不会显示在info.plist下拉列表中.
我还创建了4.0的测试项目,其info.list下拉列表中有"Required Background Modes".
我错过了什么?
我遇到的问题是,如果我在应用程序在后台运行时对应用程序设置进行了更改,则在重新启动之前,我的应用程序中的更改不可用.我错过了什么或是这样的吗?
非常感谢.SJ
我是iPhone开发人员的新手...我正在构建一个从本地sqlite3数据库加载数据的应用程序
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
Run Code Online (Sandbox Code Playgroud)
当我点击iPhone按钮并将其放在背景中然后我回想起它我看到(正常)应用程序的方式与我离开它的方式相同.我想做的是,当它出现在foregroud中时,重新加载数据就像从头开始调用一样.
这是正确的方法吗?
在此先感谢c.
今天的CPU通常包含几个物理内核.这些甚至可能是多线程的,因此Linux内核可以看到相当多的内核,因此启动了几次Linux调度程序(每个内核一个).在Linux系统上运行多个任务时,调度程序通常可以很好地将总工作负载分配给所有Linux内核(可能是相同的物理内核).
现在,比方说,我有大量文件要使用相同的可执行文件进行处理.我通常使用"find"命令执行此操作:
find <path> <option> <exec>
Run Code Online (Sandbox Code Playgroud)
但是,这在任何时候都只启动一个任务,并等待它完成,然后再开始下一个任务.因此,在任何时候都只使用一个核心.这使得大多数核心处于空闲状态(如果此find-command是系统上运行的唯一任务).同时启动N个任务会好得多.其中N是Linux内核看到的核心数.
是否有命令可以做到这一点?
我有一个应用程序,它从网络流式传输视频并使用MPMoviePlayerController对象播放它,以便在设备上或通过AirPlay播放.
该应用程序支持后台操作,并UIBackgroundModes在其plist文件中的必需键中列出了"audio"选项.
通过AirPlay播放时,应用程序可以成功推送到后台,视频继续正常播放.到现在为止还挺好.
根据Apple文档:
包括音频键告诉系统框架他们应该继续播放并以适当的间隔对应用程序进行必要的回调.如果应用程序不包含此键,则当应用移动到后台时,应用播放的任何音频都会停止.
但是,这些回调没有进行.
该应用程序使用两种类型的回调:与通知相关联的回调MPMoviePlayerController以及AVPlayer基于计时器的回调,这些回调监视回放位置和性能统计数据以进行监控.
纵观苹果的笔记,我当然希望收到的第一类型的回调,从而使应用程序可以响应MPMoviePlayerPlaybackStateDidChangeNotification,MPMoviePlayerPlaybackDidFinishNotification并MPMoviePlayerLoadStateDidChangeNotification,但这种情况不会发生.
有谁知道在后台AirPlay播放过程中是否可以接收这些,如果有的话,这是如何实现的?
**请注意:该应用程序在前台运行时可以正常工作并收到通知.只有当被推到后台并通过AirPlay播放时才会收到通知.
同样,视频正好在后台播放AirPlay.只收到未收到的通知**
就所有书籍而言,在任务/进程之间切换比在同一进程/任务的线程之间切换更昂贵.如果是这样,则线程感知OS的调度程序应该以这样的方式调度线程:相同进程/任务的线程应该彼此相邻地执行(分组)并且不与来自其他进程/任务的线程交织.
当我正在阅读有关操作系统的书籍时,所有书籍都停止说明线程切换比流程切换更便宜.就是这样.没有书说明调度程序究竟是如何解决避免在不同任务的线程之间切换的问题.好像这样的问题不存在或对每个读者都是微不足道的.
我对问题的理解不正确吗?或者我错过了什么?为什么在"调度"一章中的每一本操作系统书中都没有涵盖可能性能下降这么大的主题?我读错了书吗?
我正在开发一个Android项目,我需要将一些图像加载到GridView.如果缓存丢失,图像可能位于缓存中,然后查询Internet服务器.我的设计是使用两个线程来完成加载任务.一个用于读取缓存的线程和一个用于下载的线程 所以有3个线程,包括UI一个.它们中的每一个都有自己的消息队列,并使用Handler进行通信.
我的问题是我是否应该在这种情况下使用绑定服务?实际上我已经意识到上面的设计并且它似乎没有错,但GC正在努力工作,这可以从logcat推断出来.
另一个问题是当我使用DDMS监视线程时存在多个线程.这是因为在几个活动中使用了相同的加载机制.在调用onPause()时,我让线程退出了它的消息循环,我确信它们中只有两个在同一时间存活.但是我可以在DDMS中看到它们.(顺便说一句,为什么线程仍然存在?我让thread = null;)
总而言之,我的问题是:这个加载任务能否受益于绑定服务?
我使用iPhone应用聊天使用套接字连接与服务器通信.当应用程序移动到后台时,我可以看到服务器能够与应用程序通信大约5分钟.但在此之后,套接字连接被破坏.但是应用程序一移到后台就会停止执行.为什么套接字连接保持5分钟而不是应用程序执行.苹果指定连接将保持的确切时间.
我在我的Android应用程序中添加了Vitamio播放器.它工作正常.在Vitamio或任何其他播放器中是否有任何方法,以便我可以让播放器漂浮在其他应用程序上并像这样重新调整大小?
我有一个应用程序,在后台提取的帮助下在后台获取内容.
因此,如果应该进行后台提取,application:performFetchWithCompletionHandler:则调用我的方法.在这个方法中,我使用NSURLConnection来异步获取内容.
在我当前的实现中,我只启动请求,然后调用completionHandlerwith UIBackgroundFetchResultNewData.我知道这不可能是正确的.所以我的问题是,如何正确调用completionHandlerasync请求在connection:didReceiveData:方法中完成的时间.
multitasking ×10
ios ×5
iphone ×4
android ×2
asynchronous ×1
avplayer ×1
caching ×1
info.plist ×1
ios7 ×1
java ×1
linux ×1
media-player ×1
scheduling ×1
service ×1
shell ×1