用户体验导向的Android应用开发——节省电量
随时都得插在墙上充电的设备,不叫移动设备。如果你的App让用户一直守着墙角,用户也会很快把你丢到墙角。你会问:“他怎么知道我的应用耗电?”很抱歉,目前来看,Android用户中有大量发烧友和技术高手,同时系统很不客气地记录了每个应用的耗电量,于是用户偶尔会去系统后台查查耗电大户,之后会毫不客气地打开卸载工具。
所以需注意以下几点:
第一,不要绞尽脑汁设计复杂算法,不要在后台跑服务,不要网断了还不停重试。在开发一个模块前先想想会不会费电,如果会,就不要去做。代码是为了服务用户,而不是折腾用户。
高手喜欢挑战,尤其在手机上实现精巧的算法,这样能带来更强的征服感。有人曾在手机上实现了布隆过滤器(一个庞大精巧的类哈希表,多用于在服务器端如垃圾邮件查找),其内存消耗和计算复杂度都远远高于普通的HashMap,且实现并不容易。结果App发布之后,出现用户抱怨耗电量大,并且经常出现Bug,最后还是老老实实换成了HashMap。任何算法的目的都是为了服务用户,如果简单自然的方法能更好地做到这点,何乐而不为?如果真的在客户端找不到简单的算法,则需要反思——为什么在手机上需要复杂的计算?是否该将这些计算放在服务器端?
第二,不要在后台滥用Service。Android非常开放,开发者可在后台触发任何处理逻辑,肆意占用CPU和内存。一般来说,Service的目的是为了监控变化,包括系统和网络变化。系统变化可通过注册BroadcastReceiver监听控制,比如应用安装和卸载等事件,这样耗电量非常小,完全可替代在Service中轮播。网络请求无法用BroadcastReceiver监听,但是有两个建议。
• 无严苛的实时性要求,可延长轮播间隔,如6小时自动请求一次,同时时间隔可通过服务器在线更新。这样既省电,偶尔急需实时推送时也可在线调整时间间隔。
• 对实时性有要求,考虑使用成熟的推送服务,如Google的C2DM(http://code.google.com/android/c2dm/),和亚马逊的AWS SDK (http://aws.amazon.com/sdkforandroid/)。
第三,网络请求不要太频繁。系统组件中最耗电的是屏幕,其次就是网络。前文已经提到过,网络出错重发会降低用户体验,还会耗费电力。可通过数据预取结合数据压缩算法减少网络请求次数。
总之,在开发时我们要替用户思考是否做到了“流畅、友好、省电”,以保证App拥有不错的用户体验。
/**
* @author 张兴业
* 邮箱:xy-zhang#163.com
* android开发进阶群:278401545
*
*/
转自:
http://www.ideasandroid.com/archives/380
分享到:
相关推荐
"Android应用耗电排行显示"项目旨在通过编程方式获取并展示Android设备上各个应用程序的耗电量信息。以下是对这个主题的详细解释和相关知识点: 1. **Android电量监控框架**: Android系统提供了一个名为`...
本文将详细介绍如何通过ADB工具以及编写批处理(bat)脚本来实现Android应用耗电量的测试,帮助开发者更好地理解并优化其应用程序。 #### 一、基本概念介绍 1. **ADB (Android Debug Bridge):** - ADB 是一个...
### Android应用耗电分析 #### 一、引言 随着移动互联网技术的飞速发展,Android设备成为人们日常生活中不可或缺的一部分。然而,在享受便捷的同时,用户对于设备电池寿命的要求也越来越高。因此,针对Android应用...
1.由头客户这边最高层说我们的产品太耗电,要我们解决耗电问题。2.思路 1.由头 客户这边最高层说我们的产品太耗电,要我们...经验 Android的大耗电量一般由以下四个构成 a.频繁的GC,不一定是fullGC。频繁的full
在Android平台上,有效地控制应用程序的耗电量是提升用户体验的关键因素之一。用户对于手机的耗电量有着明确的期望:在使用应用如观看视频、玩游戏时,他们可以接受较高的耗电,但在待机状态下,他们期待手机能保持...
"最全的Android耗电量统计源码" 提供了这样的工具和方法,它可以帮助我们深入理解各个程序运行时的能源消耗情况。下面将详细介绍这个主题中的相关知识点。 一、Android系统电量监控框架 Android系统内置了一套电量...
"Android 应用程序开发第二版课后习题答案最新版" 本资源提供了 Android 应用程序开发第二版课后习题答案的最新版,涵盖 Android 应用程序开发的基础知识,包括手机操作系统的特点、Android 平台的特征、Android ...
本文将深入探讨应用程序耗电管理的方法以及在移动终端上的实现策略。 首先,了解移动应用耗电的原因至关重要。通常,应用程序的耗电量主要来源于以下几个方面:CPU的持续工作、屏幕亮度、网络通信(包括数据传输和...
为了提供最佳的用户体验,开发者需要了解并实施一些策略来有效控制Android应用的耗电量。以下是一些核心的知识点,帮助开发者优化应用的能耗: 1. **电源管理基础**:了解Android设备的电源消耗来源是至关重要的。...
"Android平台环境下应用程序架构的设计与实现" 在 Android 平台环境下,应用程序架构的设计与实现是一个至关重要的部分,对于应用程序的性能、可维护性、可扩展性等方面具有关键作用。本文将探讨 Android 平台环境...
《实战Android应用开发》这本书是为想要深入学习Android应用程序开发的开发者量身打造的实践指南。书中涵盖了Android开发的基础知识到高级技术,旨在帮助读者掌握实际项目中的Android应用开发技能。 首先,Android...
结合这两本书的内容,开发者可以全面掌握Android应用程序的开发流程,从设计用户界面到实现功能,再到优化性能,以及高效地管理数据。无论是初学者还是经验丰富的开发者,这些知识都能为你的Android开发技能树增添...
通过MyAppWeixin这个文件名我们可以推测,这可能包含了微信的主程序包或者定制版的应用程序。 1. **界面UI与布局设计**:微信的界面设计遵循Material Design规范,使用XML布局文件定义各个视图组件,包括TextView、...
《Android应用开发揭秘》这本书是Android开发者们的重要参考资料,它深入浅出地揭示了Android应用程序的设计与开发技术。本文将围绕这个主题,详细介绍Android应用开发的相关知识点,包括但不限于环境搭建、UI设计、...
《大话企业级Android应用开发实战》是一本深入探讨企业级Android应用开发的书籍,其光盘源码包含了丰富的实践示例和项目代码,旨在帮助读者掌握在实际工作环境中构建高效、稳定、功能完备的Android应用程序所需的...
- **优化GPS和位置服务**:减少位置更新的频率,使用位置服务时注意权衡精度和耗电量之间的平衡。 5. **网络请求优化** - **使用连接池**:复用HTTP连接,减少建立新连接的时间开销。 - **压缩数据传输**:启用...
"安卓app电量监控工具"就是这样一个专门设计用于监测应用程序耗电量的工具。通过使用此类工具,开发者和测试人员可以详细地分析应用的能源效率,找出可能存在的电量消耗问题,并优化代码以减少不必要的能源消耗。 ...
通过对App和硬件耗电量的计算,我们可以更深入地理解应用程序和设备组件对电池的影响。这对于开发者来说是非常有价值的,因为这可以帮助他们优化应用性能,减少不必要的电量消耗,从而提升用户的体验。同时,对于...
在Android平台上,电池监控应用程序是开发者为用户提供电池状态信息的重要工具。这个名为"Android应用源码battery(电池)监控程序.zip"的压缩包文件包含了实现此类功能的源代码,是学习和理解Android电池监控功能的一...
书中会讲解Android系统架构、版本历史以及Android应用程序的基本组成,包括Activity、Service、Broadcast Receiver和Content Provider等四大组件。 2. **开发环境搭建**:Android Studio是官方推荐的集成开发环境...