
内存优化
文章平均质量分 92
ChampionDragon
本人从事安卓开发
展开
-
安卓AsyncTask详解
一.AsyncTask实现的原理,和适用的优缺点AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.使用的优点:简单,快捷 过程可控 使用的缺点:在使用多个异步操作和并需要进行Ui变更时,就变得复杂起来....原创 2017-11-28 09:10:38 · 720 阅读 · 0 评论 -
AsyncTask补充
http://www.cnblogs.com/devinzhang/archive/2012/02/13/2350070.htmlAsyncTask介绍Android的AsyncTask比Handler更轻量级一些,适用于简单的异步处理。首先明确Android之所以有Handler和AsyncTask,都是为了不阻塞主线程(UI线程),且UI的更新只能在主线程中完成,因此异步处理是不可...原创 2018-09-25 10:34:18 · 313 阅读 · 0 评论 -
View的复用:viewHolder
我们在开发的过程中用到ListView。一、复用convertView首先讲下ListView的原理:ListView中的每一个Item显示都需要Adapter调用一次getView的方法,这个方法会传入一个convertView的参数,返回的View就是这个Item显示的View。如果当Item的数量足够大,再为每一个Item都创建一个View对象,必将占用很多内存,创建View对象(...原创 2017-11-30 09:32:15 · 952 阅读 · 0 评论 -
JAVA线程池
一.为什么要用线程池1.减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。2.可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为消耗过多的内存,而把服务器累趴下(每个线程需要大约1MB内存,线程开的越多,消耗的内存也就越大,最后死机)。Java里面线程池的顶级接口是Executor,但是严格意义上讲Executor并不是一个线程池,而只是一个执行线程...原创 2017-12-02 17:00:15 · 461 阅读 · 0 评论 -
安卓LruCache
我们都知道安卓系统对内存的消耗的条件是相当苛刻的,一般安卓系统规定每个APP占用的内存不能超过整个系统RunningMemory的1/8之一不然系统会OOM并杀死程序,那么对于每个APP在使用内存时就要谨慎再谨慎。这篇文章主要讲的就缓存工具类-----LruCache。一.LruCache详解LruCache 是 Android 的一个内部类,提供了基于内存实现的缓存LRU 的工作原理...原创 2017-11-29 09:27:00 · 593 阅读 · 0 评论