【问题标题】:What kind of bugs have you fixed due to energy inefficiency issues when you develop mobile apps [closed]在开发移动应用程序时,由于能源效率问题,您修复了哪些类型的错误 [关闭]
【发布时间】:2010-12-05 23:27:10
【问题描述】:

对于那些为手机编写应用程序的人,为了提高能源效率,您修复了哪些错误/问题,修复改进了多少?

一个后续问题:在编写移动应用程序时,能源效率是否与功能和避免功能错误一样重要?

【问题讨论】:

    标签: iphone android mobile energy energysmart


    【解决方案1】:

    首先要回答后续问题,很少有客户会注意到使用特定应用在能源效率或电池寿命方面的任何差异。这在 App Store 评论中几乎从未提及。我编写节能代码主要是因为我不想在测试和使用我的应用程序时耗尽自己设备的电池。

    对 iPhone 应用的一些建议:

    1. 编写您的应用程序,使其在最慢的设备(iPhone 2G 或 3G)和最慢的操作系统(3G 上的 4.x)上运行良好。然后它可以在速度更快的当前设备上大部分处于空闲状态。

    2. 在图形例程中,尽量不要重绘已绘制的任何内容。使用小型 CALayer 或子视图进行本地化图形更新/更改。

    3. 尽可能多地使用异步方法,这样您的应用甚至大部分时间都不会在 CPU 上运行。

    4. 尽可能使用纯 C 数据结构(而不​​是 Foundation 对象)并将它们打包,以便您的应用程序的工作集可以完全驻留在非常有限的 ARM CPU 数据缓存中。

    5. 不要进行不必要的联网。一次进行尽可能大的数据传输,以便在您的应用网络使用期间无线电可以关闭更长的时间,而不是大量连续的小传输。

    【讨论】:

    • 您对后续问题的回答正是我所关心的。如果很难注意到一个特定应用程序的能源效率,人们不会因为一个应用程序没有有效地使用能源而拒绝它,除非它真的很糟糕。那么,是什么促使开发人员大量关注优化能源使用?
    【解决方案2】:

    移动开发中的能源效率相当于嵌入式系统中的内存限制。

    具体来说,我喜欢 GPS 应用程序,因此请确保 GPS 仅在最短的时间内开启。当然,当引入的错误导致 GPS 开启时间过长时,它们会进入列表顶部进行修复。

    所以,简短的回答是:是的,能源效率绝对和功能一样重要。

    【讨论】:

      【解决方案3】:

      EE 很重要,尤其是当应用程序在后台持续运行时。

      我们必须尽可能将轮询方法替换为基于事件的方法。如果不可能,我们会降低轮询频率。

      还将文件读/写次数降至最低,从而大大减少电池消耗。

      【讨论】:

      • 感谢您的回答。您能否举例说明如何用基于事件的方法替换轮询方法?我没有意识到文件读/写会消耗大量能量,因为根据网络上的许多文章,大部分能量用于显示器、收音机和 wifi 等设备。
      【解决方案4】:
      1. 在服务器上为低 cpu 手机处理图像 + 计算,而不是使用手机 cpu(不适用于 iPhone + Android 手机)
      2. 仅在必要时而不是无休止地绘制到屏幕上
      3. 始终保存状态,以便用户可以在中断导致您的应用程序进入后台时进入他们离开的应用程序
      4. 尽可能避免在后台运行?你真的需要还是可以等到应用程序获得焦点
      5. 避免使用粗略位置可以使用的细粒度位置(GPS 与蜂窝位置)
      6. 在可能的情况下使用 push over pull 以节省轮询网络

      【讨论】:

        【解决方案5】:

        在我基于 opengl 的动态壁纸中,电池寿命是一个重大问题。

        将传感器的使用保持在最低限度,有很多不同的配置文件,使用您需要的延迟。

        为了最大限度地提高 LWP 中的电池电量,我通常会在默认情况下强制设置 5 毫秒的帧延迟。这似乎足以让 CPU 在帧之间放松并保持合理的低使用率。您还可以根据当前 FPS 管理超时并将其固定到 FPS 配置文件。例如。设备可以渲染 60fps,但您只是以 30fps 渲染并且有一半时间处于休眠状态。

        对于游戏,您也可以这样做,只需在引擎中设置 fps 限制,不要让它超过该限制。

        如果您想成为铁杆,请意识到许多 Android 设备中使用的 OLED 使用更多的功率来显示浅色而不是深色。在 LCD 上有相同的背光,但在 OLED 上,黑色像素实际上是关闭的并且不使用电源。所以你的屏幕越暗,你的电池寿命应该越长。如果您想在电池方面成为真正的铁杆,在某些情况下需要考虑一些事情。

        不要使用 GPS,不要使用 3G,如果你在本地缓存所有内容。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-06-08
          相关资源
          最近更新 更多