可以应用哪些编码技巧,编译标记,软件体系结构注意事项,以便在AIR for iOS应用程序中保持较低的功耗(或减少现有应用程序中耗费过多电池的功耗)?
答案 0 :(得分:2)
您可以做的最重要的事情之一是根据应用状态调整帧速率。
您可以通过在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
FlexGlobals.topLevelApplication.frameRate = 24;
//deactivate
FlexGlobals.topLevelApplication.frameRate = 2;
您还可以使用此数字,具体取决于您的应用目前正在做什么。如果您只是显示文字,请尝试降低您的fps。这应该可以为您节省降压功能。
答案 1 :(得分:1)
通常,高功耗可能是由于:
关于(flex / flash)AIR,我建议:
首先,您使用Flex Profiler +任务管理器并监视CPU和内存使用情况。尝试尽可能减少它们。一旦你在windows / mac上这么低,它们就会降低(理论上在移动设备上)
下一步是使用网络监视器并减少网络(webservice)调用的数量和大小。尝试识别不需要的网络活动并将其消除。
尝试检测应用程序的任何空闲状态(可能在flex中,不确定闪存)并且可能将整个应用程序置于空闲模式(如果您运行烟花动画然后只调用stop())
此外我不确定它,但是会减少肯定的cpu并使用更多的gpu:通过使用Stage3D(现在可用于移动设备的Air 3.2)当你执行复杂的任何动作时。由于硬件加速存在,它可能会缩短执行时间,因此功耗可能会降低。
如果我对某事有误,请评论/ downvote(如你所愿),但这是我的个人印象。
更新1
根据评论中的提示,桌面和移动设备上的cpu使用之间没有100%的链接,但是“理论上”在低级别上我们应该至少具有相同的cpu使用趋势。
答案 2 :(得分:0)
我的提示:
非常重要:
模拟器,IPA-Interpreter软件包和IPA-Test构建的行为是不同的。模拟器 - 形式优化
IPA-Interpreter - 获得一种表现感
IPA-Test - “真实”的表现行为
最后测试AppStore-Build,它是最快的(在性能意义上)包模式。 另外我们看到,所有这些模式都可以变化。