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

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

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

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

解决方法

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

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

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

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...