2011-01-05 53 views
2

我正在开发一个与服务器实时通讯的录音应用程序,因此需要持久的Internet连接。我在我的info.plist中包含了UIRequiresPersistentWiFi,并且在应用程序处于活动状态时也禁用了设备进入睡眠状态。但是,这可理解地对设备的电池寿命产生严重影响。用户最终不得不离开这个继续插入。对于被吹捧的旨在取代手持式录音机的应用程序,这是一个严重的缺点。我的应用程序还有许多从iPhone发送到服务器的xml线程,因此无线连接非常重要。iPhone电池续航建议

我的问题是: 1.是否有可能以某种方式仅在会话期间需要时才切换到UIRequiresPersistentWifi状态。例如,只能在传输或xml更新到服务器的过程中打开它,并在其他时间关闭? 2.同样,会话期间可以随意启用和禁用IdleTimer。例如,仅在设备上未运行前台或后台任务时启用idletimer。

任何其他建议,以确保正常的电池寿命?我所有的用户将在iTouch 4或iPhone 4上。

任何帮助/建议将不胜感激。

回答

1

对第2部分的回答:是的,您可以启用和禁用空闲计时器,具体取决于用户或应用正在进行的操作以及操作时间。我知道有几个应用程序会禁用空闲计时器,但如果用户在10分钟内未触摸任何UI元素,则会重新启用它,但如果用户再次开始一些长时间的操作,则会重新禁用它。等等。

部分回答第1部分:使用无线电(发送wifi数据)需要电源。节省电力的好方法是不要尽可能长时间地发送数据。也许缓冲设备上的大量数据,并尝试突发上传。

1

我的建议是不要用连续的服务器进行通信,对不起:(

是否有可能将数据缓存块到手机上的文件,在一个大的突发周期性地传送块到服务器?同为XML。或者,你的应用真的需要它来进行广播实时?

而且据我所知,如果指定UIRequiresPersistentWifi,你坚持了下来:(

对不起,可能不是你想要的答案!