Android
文章平均质量分 92
渐忘的歌
这个作者很懒,什么都没留下…
展开
-
Android中的IPC(进程间通信)机制
一、IPC的说明IPC是Inter-Process Communication的缩写,含义为进程间通信或跨进程通信,是指两个进程之间进行数据交换的过程。IPC不是Android独有的,任何一个操作系统都需要有相应的IPC机制,比如Windows上可以通过剪贴板,管道和邮槽来进行进程间通信;Linux上可以通过命名管道、共享内容、信号量等进行进程间通信。对于Android来说,它是一种基于Linux...原创 2018-04-16 15:36:27 · 750 阅读 · 0 评论 -
View的事件分发机制
1.为什么会有事件分发机制安卓上面的View是树形结构的,View可能会重叠在一起,当我们点击的地方有多个View都可以响应的时候,这个点击事件应该给谁呢?为了解决这一个问题,就有了事件分发机制。2.三个重要的事件分发的方法(1). dispatchTouchEvent方法用于分发事件(2). onInterceptTouchEvent方法用于拦截事件(3). onTouchEvent方法用于处理...原创 2018-04-16 16:04:55 · 116 阅读 · 0 评论 -
view的滑动冲突
一、常见冲突场景: (1)外部滑动方向和内部滑动方向不一致 主要是将ViewPager和Fragment配合使用所组成的页面滑动效果,主流应用几乎都会使用这个效果。在这种效果中,可以通过左右滑动来切换页面,而每个页面内部往往又是一个ListView。这种情况是有滑动冲突的,但是ViewPager内部处理了这种滑动冲突,因此采用ViewPager时我们无需关注此问题。但是如果我们采用的是Scroll...原创 2018-04-16 16:32:07 · 133 阅读 · 0 评论 -
View的工作原理
学习内容View的底层工作原理,比如View的测量流程、布局流程以及绘制流程;以及常见的View回调方法;熟悉掌握前面的知识后,自定义View的时候也会更加的得心应手。4.1 初识ViewRoot和DecorViewViewRoot对应于ViewRootImpl类,是连接WindowManager和DecorView的纽带,View的三大流程均是通过ViewRoot来完成的。在ActivityTh...转载 2018-04-17 12:14:57 · 125 阅读 · 0 评论 -
ANR/OOM及内存泄露的知识
ANRUI卡顿什么是ANRApplication Not Responding Activity中 5秒,广播中 10秒ANR产生的原因· 主线程被IO操作(从4.0之后网络IO不允许在主线程中)阻塞· 主线程中存在耗时的计算Android中哪些操作在主线程· Activity的所有生命周期方法· Service执行· 广播的onReceive· 没有使用子线程的Looper的Handler的Ha...原创 2018-04-17 16:34:12 · 1046 阅读 · 0 评论 -
内存对象的序列化(Serializable和Parcelable的区别)
序列化:将对象的状态信息转换为可以存储或者传输的形式的过程(1)· Serializeble是java序列化方式,Parcelable是Android特有的序列化方式(2)· 在使用内存的时候,Parcelable比Serializeble性能高(3)· Serializeble在序列化的时候会产生大量的临时变量,从而引起频繁的GC(4)· Parcelable不能使用在将要数据存储在磁盘上的情况...原创 2018-04-17 16:47:49 · 908 阅读 · 0 评论 -
理解RemoteViews
RemoteViews是一种远程View,可以在其他进程中显示,为了能够更新它的界面,RemoteViews提供了一组基础操作用于跨进程更新它的界面。本章会介绍RemoteViews在通知栏和桌面小部件上的应用,分析RemoveViews的内部机制,最后分析RemoteViews的意义并给出一个采用RemoteViews来跨进程更新界面的示例。5.1 RemoteViews的应用RemoteVie...转载 2018-04-18 11:14:10 · 117 阅读 · 0 评论 -
AsycTask、HandlerThread、IntentService的使用场景与特点
1、AsyncTask介绍:AsyncTask是一种轻量级的异步任务类,可以在后台线程池中执行后台的任务,然后把执行的进度和最终的结果传递给主线程并在主线程中更新UI。从实现上来说,AsyncTask封装了Thread和Handler。但它并不适合特别耗时的任务,对于特别耗时的任务应该使用线程池。它是一个泛型抽象类,Params表示参数的类型,Progress表示后台任务进度的类型,而Result...原创 2018-05-13 10:52:36 · 804 阅读 · 0 评论