我正试图在我的应用程序中节省手机的电池寿命。我的应用程序使用AsyncPort连接,当应用程序进入后台时,端口关闭。
我已经尝试在我的Info.plist中更改“所需背景模式”的设置,并进行了我认为有助于'应用播放音频或使用AirPlay传输音频/视频'的设置,但我实际上并没有使用AirPlay。我正在使用端口来传输数据,因此当应用程序进入后台时,端口会关闭。
所以我想我会用[[UIScreen mainScreen] setBrightness: yourvalue];
来节省电量。哦,是的,它有效。但是一旦应用程序终止,即使尽最大努力将应用程序委托applicationWillTerminate
中的亮度重置为alpha 1.0,屏幕也会保持黑暗,屏幕仍然保持黑暗。
有什么想法吗?
答案 0 :(得分:0)
iOS允许应用程序在退出主内存之前一点时间。因此,您可以在设置亮度后尝试#sleep几分之一秒。
答案 1 :(得分:0)
我有一个肮脏的方法但是我不知道它是否有效,所以为什么不尝试一下呢! 我知道这不是一个干净的方法,但我现在说,所以你不要投票。 在应用程序中将进入后台,触发2:59秒的NStimer(应用程序在3分钟不活动后终止)。
NStimer的作用是将亮度设置为1.0。
在WillEnterForground中,使计时器无效,使其变得无用。
这种方式只有在后台才能触发此计时器。在应用程序终止之前1秒恢复亮度,如果用户打开应用程序,则计时器无效!
我希望它有效!
快乐的编码!