Android的线程和内存模型Android操作系统在boot后,会启动一个Zygote(受精卵)进程,Zygote进程负责创建大部分应用程序进程。Zygote进程启动 加载核心程序库和数据结构到内存后会创建一个Dalvik虚拟机(DVM)进程--SystemServer,此进程会包含大部分的系统服...
分类:
移动开发 时间:
2014-07-03 06:29:44
阅读次数:
268
一种非常简便的实现Android多线程池的方法...
分类:
移动开发 时间:
2014-06-22 15:58:38
阅读次数:
204
Features
Make asynchronous HTTP requests, handle responses in anonymous callbacksHTTP requests happen outside the UI threadRequests use a threadpool to cap concurrent resource usageGET/POST params ...
分类:
移动开发 时间:
2014-05-26 04:08:22
阅读次数:
330
Android中经常会有一些操作比如网络请求,文件读写,数据库操作,比较耗时,我们需要将其放在非UI线程去处理,此时,我们需要处理任务前后UI的变化和交互。我们需要通过类似js中异步请求处理,这里总结我所了解到的,方便自己记忆,也方便别人的浏览。
AsyncTask
new AysncTask().execute();
AsyncTask会按照流程执行在UI线程和一个耗时的任...
分类:
移动开发 时间:
2014-05-16 01:49:28
阅读次数:
452
开始进入正题,我们都知道,Android
UI是线程不安全的,如果在子线程中尝试进行UI操作,程序就有可能会崩溃。相信大家在日常的工作当中都会经常遇到这个问题,解决的方案应该也是早已烂熟于心,即创建一个Message对象,然后借助Handler发送出去,之后在Handler的handleMessag...
分类:
移动开发 时间:
2014-05-11 16:19:13
阅读次数:
567
在ListView中加载图片是非常常见的场景,图片的加载要满足下面的几个要求:
(1)不管图片是位于网络还是本地,加载都不应该是同步的,而是应该异步去加载,比如用AsyncTask。
(2)为了避免重复下载图片和页面展示的速度,一般要做缓存,比如最常见的LruCache。
(3)为了提高Listview的性能,我们一般会用holder来重用Listview的item。...
分类:
移动开发 时间:
2014-05-09 15:02:53
阅读次数:
441
Android为了降低这个开发难度,提供了AsyncTask。AsyncTask就是一个封装过的后台任务类,顾名思义就是异步任务,更通俗地说就是一个执行后台任务的线程而且他还会自动通知主线程更新UI优点:
结构清晰,容易理解。缺点 代码量稍大下面直接看代码 1 private class Asy.....
分类:
移动开发 时间:
2014-05-06 08:50:11
阅读次数:
373