关于我的程序的efficiency,我处于一个“特殊”的情况。现在,我需要提高应用程序的性能并降低电池消耗。
在问题之前:
现在,我很想知道其他开发人员用来优化自己的应用程序的特殊修复。用户可能永远不会认识或注意到的东西。但是,这些修复将增加电池寿命或帮助改善应用程序的维护。
那么,你有什么独特的优化技巧吗?
我正处于一种特殊的情况下,我真的在寻找知识,我认为这将是一个很好的机会来分享开发人员关于他们都经历过的情况的知识。
请投票给伟大的答案,因为这将鼓励伟大的开发人员分享他们的知识。
发布于 2011-04-12 04:19:50
在某种程度上,你会达到使用已知技巧会达到极限的地步。在这一点上,最好的做法是分析您的代码,并根据您的特定需求查看瓶颈所在。
Investigating RAM usage using MAT和Using Traceview:这是一篇关于如何使用这些工具分析应用程序的文章。
发布于 2011-04-12 04:52:38
跟踪和压缩分配。分配的越多,垃圾收集器需要运行的频率就越高,从而在相对较长的一段时间内停止您的进程执行其他任何操作,例如100ms左右。
我所知道的最好的工具是DDMS中包含的分配跟踪器。
不仅GC会对用户体验产生影响,而且多余的分配和GC也会消耗一些计算资源。
这里有一个例子和一个小技巧。在我的应用程序中,我有一个时钟,它显示当前(音频)时间,包括十分之一秒。这是经常更新的。每当您使用CharSequence调用setText()时,TextView都会在内部执行分配。但是它不使用setText(char[] text,int start,int len)变量分配任何内容。这是没有文档的,当我问到它的时候,没有人回答。
像这样的有很多。这就是为什么我的应用程序包含50%的本机代码的原因之一(但还有其他原因)。
除此之外,我可以建议您尝试使用ProGuard。它执行几次优化过程,并记录项目中未使用的方法等信息,这可以帮助您删除代码中的剩余物。
发布于 2011-04-18 04:49:51
如果你的应用程序会有大量的屏幕时间,只要你能,就使用黑色。这将减少设备最糟糕部分的电池消耗:屏幕,特别是在AMOLED手机和平板电脑中。
https://stackoverflow.com/questions/5626947
复制相似问题