由于Android GC性能的改变,编码风格有多远?

我不断听说,Android应用程序应该尝试限制创建的对象数量,以减少垃圾回收器的工作量.有意义的是,您可能不想在有限的内存空间上创建大量的对象来跟踪,例如在传统的服务器应用程序中,几秒钟内创建的100,000个对象将不会被闻所未闻.

问题是我应该多远呢我已经看到许多Android应用程序的例子依赖于静态,据说“加快速度”.将需要垃圾收集的实例数量从数十到数百个增加真的会有所不同吗?我可以想象如何改变我的编码风格,现在创建了数以万计的对象,像是在一个完整的Java EE服务器上可能拥有的对象,但依靠一堆静态(据称)可以减少垃圾回收的对象数量奇.

为了创建性能更高的Android应用程序,需要多少改变编码风格?

解决方法

“避免分配”建议通常是关于游戏循环.虚拟机必须暂停收集垃圾,并且您不希望在游戏动画30fps时发生这种情况.如果不分配任何对象,VM将不需要收集垃圾来释放内存.如果您有一个游戏需要运行没有用户可见的打嗝,那么您应该考虑更改相关部分中的代码以最小化或消除分配.

如果您制作的应用程序包含食谱或显示照片,我不用担心 – GC打嗝不是用户可能会注意到的.

对Dalvik GC的未来改进(例如世代集合)应该使这个问题更少.

相关文章

以下为个人理解,如错请评 CE: 凭据加密 (CE) 存储空间, 实际路径/data/user_ce/ DE: 设备加密 (DE) 存...
转载来源:https://blog.csdn.net/yfbdxz/article/details/114702144 用EventLog.writeEvent打的日志(或...
事件分发机制详解 一、基础知识介绍 1、经常用的事件有:MotionEvent.ACTION_DOWN,MotionEvent.ACTION...
又是好久没有写博客了,一直都比较忙,最近终于有时间沉淀和整理一下最近学到和解决的一些问题。 最近进...
Android性能优化——之控件的优化 前面讲了图像的优化,接下来分享一下控件的性能优化,这里主要是面向...
android的开源库是用来在android上显示gif图片的。我在网上查了一下,大家说这个框架写的不错,加载大的...