当程序启动手机越多的模块,那耗电就越快

当你的程序运行时只占用CPU的时候,这时候耗电量是最少的。

当然这时候如果cpu的运行速度很慢那是最好的。。

程序耗电量控制首要从下面3个方面抓起:

1.频繁的I/O操作(启动本地外部存储模块和网络通信模块)

2.同时开过多的线程运行(cpu模块)。

3.频繁的内存分配以及产生的内存碎片(频繁使用内存模块)

减少I/O操作:

判断是不是连上了wifi或者是不是存在可用的网络,假如不符合条件,就不要发动网路通信。

使用压缩来减少网络中传输的数据。

在读写本地文本时,应该选了优质方法实现,来减少读写外部存储的操作。

使用合适的缓存来减少I/O操作。

同时开过多的线程运行:

不到万不得以,不要轻易开线程去执行操作。

当需要执行定时任务,推荐我们可以使用AlarmManager来定时启动服务。

AlarmManager是使用硬唤醒技术,当没有到达目标时间,他是处于休眠

状态。

频繁的内存分配以及产生的内存碎片:

当一个对象需要在不同的模块频繁的使用时,推荐使用单例模式。

当需要频繁的分配内存时,推荐使用缓存技术。

Android 应用开发耗电量控制。。的更多相关文章

  1. Android 让他们自己控制开发的定义(一个)

    作为一个创意开发.或软件UI设计要求比较高,你经常会遇到的情况来圣安德鲁斯控制不符合您的需求.这样的时候.件.同一时候.安卓也同意你去继承已经存在的控件或者实现你自己的控件以便优化界面和创造更加丰富的 ...

  2. 《Android游戏开发详解》一1.7 控制流程第1部分——if和else语句

    本节书摘来异步社区<Android游戏开发详解>一书中的第1章,第1.7节,译者: 李强 责编: 陈冀康,更多章节内容可以访问云栖社区"异步社区"公众号查看. 1.7 ...

  3. 转——Android应用开发性能优化完全分析

    [工匠若水 http://blog.csdn.net/yanbober 转载请注明出处.] 1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉 ...

  4. Android 应用开发性能优化完全分析

    1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉大家你一总结.我一总结的都说到了很多优化注意事项,但是看过这些文章后大多数存在一个问题就是只 ...

  5. 【转】Android应用开发性能优化完全分析

    http://blog.csdn.net/yanbober/article/details/48394201 1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关 ...

  6. Android应用开发性能优化完全分析

    1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉大家你一总结.我一总结的都说到了很多优化注意事项,但是看过这些文章后大多数存在一个问题就是只 ...

  7. 转:Android应用开发性能优化完全分析

    转自:http://blog.csdn.net/yanbober/article/details/48394201 1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜 ...

  8. Android N开发 你需要知道的一切

    title: Android N开发 你需要知道的一切 tags: Android N,Android7.0,Android --- 转载请注明出处:http://www.cnblogs.com/yi ...

  9. Android安全开发之浅谈密钥硬编码

    Android安全开发之浅谈密钥硬编码 作者:伊樵.呆狐@阿里聚安全 1 简介 在阿里聚安全的漏洞扫描器中和人工APP安全审计中,经常发现有开发者将密钥硬编码在Java代码.文件中,这样做会引起很大风 ...

随机推荐

  1. 编译android源码官方教程(5)编译完之后刷机、编译fastboot

    Running Builds IN THIS DOCUMENT Building fastboot and adb Booting into fastboot mode Unlocking the b ...

  2. 使用StarUML创建类图

    使用StarUML创建类图 http://www.flyne.org/article/379 1.综述(What) StarUML是一种生成类图和其他类型的UML图表的工具.本文是一个使用StarUM ...

  3. <marquee>属性详解

    http://www.360doc.com/content/14/1210/17/9060464_431831883.shtml

  4. [CF353C]Find Maximum(贪心)

    题目链接:http://codeforces.com/contest/353/problem/C 题意:给你一串数字a[]和一个二进制串,要求找一个不超过m的二进制数,使得与对应a[]上的数字的乘积和 ...

  5. 服务器端验证--验证框架验证required.

    struts2表单验证里field-validator type值一共可以取哪些?都什么含义? int 整数:double 实数:date 日期:expression 两数的关系比较: email E ...

  6. TestNg测试框架使用笔记

    Gradle支持TestNG test { useTestNG(){ //指定testng配置文件 suites(file('src/test/resources/testng.xml')) } } ...

  7. python tools: iPython Notebook

    Introducing IPython Notebook IPython isn't a different programming language, it's just a set of comp ...

  8. jQuery:show()方法

    show()方法是jQuery的方法,功能是显示元素,参数是时间,单位是毫秒,例如: Html: <div class="one" id="one"> ...

  9. Sql 行转列问题总结

    行转列问题总结 1.行转列 ---1.最简单的行转列/* 问题:假设有张学生成绩表(tb)如下:姓名 课程 分数张三 语文 74张三 数学 83张三 物理 93李四 语文 74李四 数学 84李四 物 ...

  10. Mac开发环境搭建

    参考文档一:Mac 开发者常用的工具 参考文档二:高效 MacBook 工作环境配置 IntelliJ IDEA 简体中文专题教程 IntelliJ IDEA 相关技巧视频 IntelliJ IDEA ...