以快板之名说Android 应用程序电源管理
当里个当,当里个当。Android开发UE(用户体验)为导向,首要任务便是省电量。
当里个当,当里个当。有一设备立足于墙边,这个设备唤固定电话。你的app造成这样,用户很快把你弃墙角。你咆哮耗电奈何与我,奈何android设备记录此。你若是那耗电app,用户毫不犹豫卸载你。
当里个当,当里个当。开发需注意以下几点:
①当里个当,当里个当。不要绞尽脑汁设算法,后台服务不要死劲跑。
当里个当,当里个当。决定高手喜欢来挑战,精巧算法带来征服感。高手实现布隆过滤器(一个庞大精巧的类哈希表,多用于在服务器端如垃圾邮件查找),内存复杂远远于平时(HashMap),因此实现变得不容易。于是App发布之后,出现用户抱怨电量大,并且经常出现大问题,老老实实换成了哈希。
当里个当,当里个当。于是请让鄙人总结之,算法目的是为了用户,为何不用简单(算法)做到位?
②当里个当,当里个当。service固可好,service固可棒,service效应真的不一样。service目的用于监控变化, 倘若后台服务任意跑,用户耗电量刷哗哗跑。因此用BroadcastReceiver监听控制,比如安装卸载等操作。这样cpu和内存量,由此电量大大的减少。
③当里个当,当里个当。网络请求固可好,网络请求固可棒。网络请求真的不一般。网络请求建议请做好。
当里个当,当里个当。 无严苛的实时性要求,恳请您延长轮播间隔,例如6小时请求一次,同时间隔服务器(在线)更新。
当里个当,当里个当。使用成熟的推送服务,个推特推百度效果不一般。
④当里个当,当里个当。网络请求不要太频繁。系统组件屏幕最耗电,其次网络耗电不一般。网络出错会降低UE,而且还会耗费了电量。恳请数据的预取,数据压缩的算法,来降低网络请求次数。
当里个当,当里个当。 总而言之一句话,开发过程中,替用户思考是否做到了“流畅、友好、省电”效果,以保证App拥有不错的UE(用户体验)。
以快板之名说Android 应用程序电源管理的更多相关文章
- Android应用程序版本号管理(官方文档中文版)
在应用程序的 升级/维护 策略中, 版本是一个关键的组成部分. 用户需要了解在他们的设备上所安装的应用程序的版本的特定信息, 以及已安装程序的升级版本可用的情况. 其他应用程序 - 作为同一个套件中发 ...
- android wake lock 电源管理简单学习
需要配置清单文件:<uses-permission android:name="android.permission.WAKE_LOCK" /> 也可以参考我之前写的这 ...
- android在程序中打开另一个程序
在开发android应用的时候,在一些情况下要有前置条件,比如这边所说的要启动时要确保别的应用程序服务已经打开 或者在操作中启动别的应用等. 先来一段google上的代码: 1. 已知包名和类名的情 ...
- Android卸载程序之后跳转到指定的反馈页面
一个应用被用户卸载肯定是有理由的,而开发者却未必能得知这一重要的理由,毕竟用户很少会主动反馈建议,多半就是用得不爽就卸,如果能在被卸载后获取到用户的一些反馈,那对开发者进一步改进应用是非常有利的.目前 ...
- 使用 Eclipse PhoneGap 构建 Android 应用程序入门
Eclipse 是一种支持多种技术的开源集成开发环境 (IDE),但本文重点介绍 Java 支持,这也是 Android 应用程序的“母语”.Android 是 Google 发布的开源移动操作系统. ...
- IONIC 开发的Android应用程序签名(或重新签名)详解
完全通过DOS命令来完成apk签名 给apk签名一共要用到3个工具,或者说3个命令,分别是:keytool.jarsigner和zipalign,下面是对这3个工具的简单介绍: ...
- Eclipse+CDT+GDB调试android NDK程序(转)
Eclipse+CDT+gdb调试android ndk程序 先介绍一下开发环境,在这个环境下,up主保证是没有问题的. ubuntu 11.10 eclipse 3.7(indego) for ja ...
- Android应用程序窗口(Activity)的视图对象(View)的创建过程分析
从前文可知道,每一个Activity组件都有一个关联的Window对象,用来描述一个应用程序窗口.每一个应用程序窗口内部又包含有一个View对象,用来描述应用程序窗口的视图.应用程序窗口视图是真正用来 ...
- Android开发之 Android应用程序详细解析
我们继续的沿用上一篇所建立的应用. Android应用程序可以分为:应用程序源代码(.java),应用程序描述文件(.xml),各种资源. 可以这么理解: 安卓应用程序,通过java代码来实现其业务逻 ...
随机推荐
- python基础之return,参数
函数的返回值 1.什么是返回值: 返回值是一个函数的处理结果 2.为什么要有返回值 如果需要在程序中拿到函数的处理结果,做进一步的处理,则需要函数必须有返回值 3.函数返回值的应用: 函数的返回值用r ...
- VM 虚拟机网络配置
VM网络设置,一共有四种模式. 分别是 1:bridge:桥接,直接和真实网卡相连.如果你要让虚拟机也要上网,就必须选这项,并且要配置和真实网卡在同一网段的IP地址. 2:host-only: 仅主机 ...
- 在mysql中使用group by和order by取每个分组中日期最大一行数据
转载自:https://blog.csdn.net/shiyong1949/article/details/78482737 在mysql中使用group by进行分组后取某一列的最大值,我们可以直接 ...
- 根据twitter的snowflake算法生成唯一ID
C#版本 /// <summary> /// 根据twitter的snowflake算法生成唯一ID /// snowflake算法 64 位 /// 0---0000000000 000 ...
- WCF中的REST是什么
基于SOAP消息格式的WCF之所以强大原因之一是因为SOAP消息头的高度扩展性.相应的WS-*协议很多都体现在消息头封装的信息上,包括诸如寻址,需要调用方法名,维护Session的信息等等…… SOA ...
- 为什么MacBook装Windows这么火?
Mac到底要不要装Windows?一直以来这都是个很有争议性的话题.只要你经常浏览国内一些知名Mac论坛,就会发现那里不仅有各种Mac装Windows教学贴.讨论区,而且时不时还会冒出关于“Mac装不 ...
- Android 应用开发特色
Android 系统到底提供了哪些东西,供我们可以开发出优秀的应用程序.1. 四大组件Android 系统四大组件分别是活动(Activity).服务(Service).广播接收器(Broadcast ...
- Odoo(OpenERP)配置文件openerp-server.conf详解
原文地址:http://blog.csdn.net/wangnan537/article/details/42283465 [options] ; addons模块的查找路径 addons_path ...
- 缩放到被选择的部分: ICommand Cmd = new ControlsZoomToSelectedCommandClass();
AddItem("esriControls.ControlsZoomToSelectedCommand"); //ICommand Cmd = new ControlsZoomTo ...
- Android_开源框架_AndroidUniversalImageLoader网络图片加载
1.功能概要 Android-Universal-Image-Loader是一个开源的UI组件程序,该项目的目的是提供一个可重复使用的仪器为异步图像加载,缓存和显示. (1).使用多线程加载图片(2) ...