Android性能优化系列
Danny_姜
分享是一种精神, 你可以分享他人成果也可以将自己的成果分享给其他人, 不论哪一种分享, 都会有所收获
展开
-
Java虚拟机究竟是如何处理SoftReference的
但凡是写过几行java代码的,都知道java中的引用分为4种:强引用、软引用、弱引用、虚引用。其中广大开发者最热衷的莫过于 软引用 了。因为它能保证在内存足够时,我们创建的对象完好的存活在内存中。同时当内存不足时,则将软引用指向的对象交由GC回收。抛个砖但是Java工程师不能认为SoftReference就是万无一失的保险锁,并且肆无忌惮的使用。被 软引用 对象关联的对象会自动被垃圾回收器...原创 2020-04-09 18:09:21 · 474 阅读 · 0 评论 -
Android代码内存优化建议-OnTrimMemory优化
OnTrimMemoryOnTrimMemory 回调是 Android 4.0 之后提供的一个API,这个 API 是提供给开发者的,它的主要作用是提示开发者在系统内存不足的时候,通过处理部分资源来释放内存,从而避免被 Android 系统杀死。这样应用在下一次启动的时候,速度就会比较快。 本文通过问答的方式,从各个方面来讲解 OnTrimMemory 回调的使用过程和效果。想要开发高性能且用户原创 2016-08-04 22:22:13 · 7274 阅读 · 0 评论 -
Android中Handler引起的内存泄露
在Android常用编程中,Handler在进行异步操作并处理返回结果时经常被使用。通常我们的代码会这样实现。public class SampleActivity extends Activity { private final Handler mLeakyHandler = new Handler() { @Override public void handleMessage(原创 2016-08-04 22:29:55 · 1151 阅读 · 4 评论 -
关于Android内存优化你应该知道的一切
介绍在Android系统中,内存分配与释放分配在一定程度上会影响App性能的—鉴于其使用的是类似于Java的GC回收机制,因此系统会以消耗一定的效率为代价,进行垃圾回收。 在中国有句老话:”由俭入奢易,由奢返俭难”。而此谚语也似乎正适应于Android的内存使用。GC回收机制给程序员省去了像C语言程序员那样手动释放内存的工作,但是也带来了一系列的”雷”—动辄内存泄漏,再甚者稍微不慎就会OOM。原创 2016-08-04 22:00:23 · 6726 阅读 · 4 评论 -
Android性能优化开篇
Android性能优化导读之前好多童鞋都问过我同样的一系列问题: 老师!我写Android App的时候到底该怎么优化啊? App优化这玩意到底是啥东东啊?? 在网上也搜了一下就没有一个标准的答案吗???我可不可以用小学学草书的方式写代码啊—天马行空任我飞,天大地大我最大!!刚开始对于以上问题,我只是尽量耐心 苦口婆心的谆谆教导: 你TM给老子好好写代码,不要把App搞得到处都是雷!随便点点就崩啊原创 2016-08-03 17:35:11 · 855 阅读 · 0 评论 -
小探Android中的SparseArray和HashMap
本章内容来自:http://blog.csdn.net/u010687392/article/details/47809295在Android开发时,我们使用的大部分都是Java的api,比如HashMap这个api,使用率非常高,但是对于Android这种对内存非常敏感的移动平台,很多时候使用一些java的api并不能达到更好的性能,相反反而更消耗内存,所以针对Android这种移动平台,也推出了转载 2016-08-08 10:01:28 · 744 阅读 · 0 评论 -
SparseArray源码中的G点
通过上一章 小探Android中的SparseArray和HashMap了解了SparseArray和HashMap的一点区别,以及SparseArray的使用场景。这一章主要来记录一下查看SparseArray源码时,个人感觉源码中值得借鉴的地方:二分查找 代码如下:// This is Arrays.binarySearch(), but doesn't do any argument val原创 2016-08-08 10:59:05 · 713 阅读 · 0 评论 -
Java堆:Shallow Size和Retained Size
转自:http://blog.csdn.net/kingzone_2008/article/details/9083327Shallow size就是对象本身占用内存的大小,不包含其引用的对象。常规对象(非数组)的Shallow size有其成员变量的数量和类型决定。数组的shallow size有数组元素的类型(对象类型、基本类型)和数组长度决定。Shallow size of a转载 2016-08-08 16:18:16 · 1141 阅读 · 0 评论 -
Android Studio和MAT结合使用来分析内存问题
Android开发中时常会遇到内存泄漏的问题,而Android系统对单个App又有一定的内存限制,此值可以通过一下方式获取:ActivityManager am = (ActivityManager)getSystemService( Context.ACTIVITY_SERVICE);int memoryClass = am.getMemoryCl原创 2016-08-09 22:39:44 · 19306 阅读 · 4 评论