为了在iOS应用程序中保持低功耗(或者减少现有应用程序中消耗太多电池的功耗),可以应用哪些编码技巧、编译标志、软件体系结构考虑因素?
发布于 2012-03-29 22:30:03
你能做的最重要的事情之一就是根据应用程序的状态来调整帧率。
您可以通过在App.mxml中添加处理程序来完成此操作
<s:ViewNavigatorApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
activate="activate()" deactivate="close()" />在您的activate和close方法中
//activate
FlexGlobals.topLevelApplication.frameRate = 24;
//deactivate
FlexGlobals.topLevelApplication.frameRate = 2;你也可以根据你的应用程序当前正在做的事情来调整这个数字。如果你只是在显示文本,试着降低你的fps。这应该会给你带来最大的能量节省。
发布于 2012-03-29 19:47:58
通常,高功耗可能是由以下原因造成的:
关于(flex/flash) AIR,我建议:
首先,使用Flex profiler +任务管理器并监视CPU和内存使用情况。尽量减少它们。一旦你在windows/mac上达到这个低点,它们就会更低(理论上是在移动设备上)。
下一步将使用网络监视器,并减少网络(webservice)调用的数量和大小。尝试识别不需要的网络活动并将其消除。
尝试检测应用程序的任何空闲状态(可能在flex中,对flash不确定),并可能将整个应用程序设置为空闲模式(如果正在运行fireworks动画,则只需调用stop())
我也不确定,但肯定会减少中央处理器,使用更多的图形处理器:通过使用Stage3D (现在air 3.2也可用于移动),当你做复杂的任何事情时。它可以减少执行时间,因为有HW accel,因此功耗可能会更低。
如果我错了,请评论/否决(随你喜欢),但这只是我个人的印象。
更新1
正如评论中所提示的,桌面和移动设备上的cpu使用率之间并不存在100%的联系,但“理论上”,在较低的水平上,我们应该至少有相同的cpu使用率趋势。
发布于 2012-07-03 16:27:00
我的建议:
中的仪器分析您的应用程序
而且重要的是:
模拟器、IPA解释器包和IPA测试构建的行为是不同的。
模拟器-形式优化
IPA-解释器-感受性能
IPA-测试-“真实”性能行为
最后测试AppStore-Build,它是最快的(在性能意义上)包模式。此外,我们还看到,所有这些模式都可能有所不同。
https://stackoverflow.com/questions/9924255
复制相似问题