写在前面的话 一个Android应用就是一个Linux进程,每个应用在各自的进程中运行,互不干扰,比较安全。 一个应用对应一个主线程,就是通常所说的UI线程,android遵守的就是单线程模型,所以说Ui操作不是线程安全的并且这些操作必须在UI线程中执行。 本文是对官方文档的翻译,原文链接:http ...
分类:
移动开发 时间:
2016-06-04 10:28:22
阅读次数:
259
Handler的定义:
主要接受子线程发送的数据, 并用此数据配合主线程更新UI。
解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发,比如说,你要是点击一个 Button ,Android会分发事件到Button上,来响应你的操作。
如果此时需要一个耗时的操作,例如:联网读取数据,或者读取本地较大的一...
分类:
移动开发 时间:
2016-06-03 19:36:14
阅读次数:
221
handler vs AsyncTask
AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程。
优点:
l 简单,快捷
l 过程可控
缺点:
l 在使用多个异步操作和并需要进行Ui变更时,就变得复杂起来
Ha...
分类:
移动开发 时间:
2016-06-03 19:25:34
阅读次数:
366
写在前面的话
一个Android应用就是一个Linux进程,每个应用在各自的进程中运行,互不干扰,比较安全。
一个应用对应一个主线程,就是通常所说的UI线程,android遵守的就是单线程模型,所以说Ui操作不是线程安全的并且这些操作必须在UI线程中执行。
本文是对官方文档的翻译,原文链接:https://developer.android.com/guide/components/proc...
分类:
移动开发 时间:
2016-06-03 10:12:45
阅读次数:
259
1、为什么需要异步加载。
因为我们都知道在Android中的是单线程模型,不允许其他的子线程来更新UI,只允许UI线程(主线程更新UI),否则会多个线程都去更新UI会造成UI的一个混乱有些耗时的操纵(例如网络请求等),如果直接放到主线程中去请求的话则会造成主线程阻塞,而我们系统有规定的响应时间,当响应的时间超过了了阻塞的时间就会造成"Application No Response",也就...
分类:
移动开发 时间:
2016-06-02 22:07:29
阅读次数:
233
本文简书同步发布,谢谢关注。
http://www.jianshu.com/p/8b83b8b6e931
Android开发者都经历过APP UI开发不当 会造成overDraw,导致APP UI渲染过慢,但是很多人却没听过overLoad,overLoad一般是由于开发者在主线程操作耗时操作,导致程序变慢 甚至出现的anr的现象,那么android早已为这种现象提供完美的解决方案,就是今天给大家说...
分类:
移动开发 时间:
2016-06-02 14:46:22
阅读次数:
292
1 AsyncTask实现的原理,和适用的优缺点
AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.
使用的优点:
l 简单,快捷
l 过程可控
使用的缺点:
l 在使用多个异步操作和并需要进行Ui...
分类:
其他好文 时间:
2016-06-02 14:19:56
阅读次数:
215
一个Android应用就是一个Linux进程,每个应用在各自的进程中运行,互不干扰,比较安全。一个应用对应一个主线程,就是通常所说的UI线程,android遵守的就是单线程模型,所以说Ui操作不是线程安全的并且这些操作必须在UI线程中执行。本文是对官方文档的翻译,欢迎拍砖。...
分类:
移动开发 时间:
2016-06-02 13:47:45
阅读次数:
237
概述
作用
为什么不能在主线程中进行耗时操作?
因为会导致体验不流畅、卡顿,体验差。
Handler的出现为了解决在子线程中操作完成了无法访问UI线程(主线程)的矛盾。
为什么不能在子线程中更新UI?
因为多线程操作导致线程不同步,并发操作让UI控件处于不可预期的状态。
为什么不通过线程同步更新UI?通过给UI控件的访问加上锁
1. 加锁会让UI访问逻辑变得异常复杂
2....
分类:
移动开发 时间:
2016-06-02 06:19:29
阅读次数:
280
基本介绍
EventBus 是一个 Android 事件发布/订阅框架,通过解耦发布者和订阅者简化 Android 事件传递,这里的事件可以理解为消息,本文中统一称为事件。事件传递既可用于 Android 四大组件间通讯,也可以用户异步线程和主线程间通讯等等。EventBus
EventBus3.0版本有较大的更新,性能上有很大提升。这里只介绍新版本。
传统的事件传递方式包括:Handler...
分类:
其他好文 时间:
2016-06-01 06:51:12
阅读次数:
251