android开发艺术探索
文章平均质量分 94
虫单
学习、分享、成长、坚持
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
IPC基础概念介绍
"*" 本章内总总结笔记: 主要介绍 Serializable 、 Parcelable 、 Binder 。 **Serializable接口** 1. Serializable 是Java提供的一个序列化接口(空接口),为对象提供标准的序列化和反序列化操作。 2. 只需要一个类去实现 Serializable 接口并声明一个 serialVersionUID 即可实现序列化。 3. 如果不手动指定 serialVersionUID 的值原创 2018-08-06 14:51:13 · 1596 阅读 · 0 评论 -
Android的线程和线程池
本章总结: Android的线程和线程池 在Android系统,线程主要分为主线程和子线程,主线程处理和界面相关的事情,而子线程一般用于执行耗时操作。 在Android中,线程的形态有很多种: i. AsyncTask封装了线程池和Handler。 ii. HandlerThread是具有消息循环的线程,内部可以使用handler iii.IntentService是一种Service,内部采...原创 2019-02-20 17:03:37 · 796 阅读 · 0 评论 -
Android的消息机制
Android的消息机制 从开发的角度来说,Handler是Android消息机制的上层接口。Handler的运行需要底层 的 MessageQueue 和 Looper 的支撑。 MessageQueue是一个消息队列,内部存储了一组消息,以队列的形式对外提供插入和 删除的工作,内部采用单链表的数据结构来存储消息列表。 Lopper会以无限循环的形式去查找是否有新消息,如果有就处理消息,...原创 2019-02-19 16:31:27 · 232 阅读 · 0 评论 -
Bitmap的加载和Cache
本章总结: 主要介绍: 如何高效地加载一个Bitmap Android中常用的缓存策略 i. LruCache——内存缓存 ii. DiskLruCache——磁盘缓存 如何优化列表的卡顿 12.1 Bitmap的高效加载 BitmapFactory类提供四种方法: decodeFile 、 decodeResource 、 decodeStream 和 decodeByteAr...原创 2019-02-21 18:46:52 · 448 阅读 · 0 评论 -
Android动画深入分析
本章重点: Android动画分为三种: View动画 帧动画 属性动画 1 View动画 View动画的作用对象是View,支持四种动画效果: 平移 缩放 旋转 透明 1.1 View动画的种类 上述四种变换效果对应着Animation四个子类: TranslateAnimation 、 ScaleAnimation 、 RotateAnimation 和 AlphaAnimat...原创 2018-12-14 18:20:51 · 343 阅读 · 0 评论 -
理解Window和WindowManager
本章重点: indow是一个抽象类,具体实现是 PhoneWindow 。不管是 Activity 、 Dialog 、 Toast 它们的视图都是附加在Window上的,因此Window实际上是View的直接管理者。WindowManager 是外界访问Window的入口,通过WindowManager可以创建Window,而Window的具体实现位于 WindowManagerSer...原创 2018-12-19 16:00:22 · 370 阅读 · 0 评论 -
View的工作原理(二)
本章重点: 1 .View的工作流程 1.1 measure过程 分两种情况: 1. View通过 measure 方法就完成了测量过程 2. ViewGroup除了完成自己的测量过程还会便利调用所有子View的 measure 方法,而且各个子View还会递归执行这个过程。 View的measure过程 直接继承View的自定义控件需要重写 onMeasure 方法并设置 wrap_...原创 2018-12-07 16:57:18 · 254 阅读 · 0 评论 -
View的事件体系(一)
view的基础知识原创 2018-11-19 15:33:38 · 260 阅读 · 0 评论 -
View的工作原理(一)
本章主要内容 1. 初识ViewRoot和DecorView ViewRoot的实现是 ViewRootImpl 类,是连接WindowManager和DecorView的纽带,View的三大流(mearsure、layout、draw)均是通过ViewRoot来完成。当Activity对象被创建完毕后,会将DecorView添加到Window中,同时创建 ViewRootImpl 对象,...原创 2018-11-21 15:13:50 · 195 阅读 · 0 评论 -
View的事件体系(二)
本章重点 1.View的事件分发机制 1.1 点击事件的传递规则 首先我们先看看下面一段伪代码,通过它我们可以理解到点击事件的传递规则: public boolean dispatchTouchEvent (MotionEvent ev){ boolean consume = false; if (onInterceptTouchEvnet(ev){ consume = onTouchEven...原创 2018-11-20 18:16:25 · 213 阅读 · 0 评论 -
Android中的IPC方式 - ContentProvider与Socket
使用ContentProvider 1. ContentProvider是四大组件之其底层实现和Messenger一样是BinderContentProvider天生就是用来进程间通信,只需要实现一个自定义或者系统预设置的ContentProvider,通过ContentResolver的query、update、insert和delete方法即可。 2. 创建ContentPr...原创 2018-09-14 16:11:41 · 439 阅读 · 0 评论 -
Android中的IPC方式-Binder连接池以及选择合适的IPC方式
本节重点 Binder连接池 AIDL是一种最常用的IPC方式,是日常开发中涉及IPC时的首选。前面提到AIDL的流程是 客户端在Service的onBind方法中拿到继承AIDL的Stub对象,然后客户端就可以通过这个Stub对象进行RPC。 那么如果项目庞大,有多个业务模块都需要使用AIDL进行IPC,随着AIDL数量的增加,我们不能无限制地增加Service,我们需要...原创 2018-09-17 16:58:08 · 393 阅读 · 0 评论 -
Android中的IPC方式 - AIDL(二)
本章重点总结: 使用AIDL 如果有大量的并发请求,使用Messenger就不太适合,同时如果需要跨进程调用服务端的方法,Messenger就无法做到了。这时我们可以使用AIDL。 流程如下: 1. 服务端需要创建Service来监听客户端请求,然后创建一个AIDL文件,将暴露给客户端的接口在AIDL文件中声明,最后在Service中实现这个AIDL接口即可。 ...原创 2018-09-06 16:47:25 · 610 阅读 · 0 评论 -
Android中的IPC方式(一)-Messenger
本章重点 IPC主要有以下方式: 1. Intent中附加extras来传递消息 2. 共享文件 3. Binder方式 4. 四大组件之一的ContentProvider 5. Sock 1 使用Bundle 四大组件中的三大组件(Activity、Service、Receiver)都支持在Intent中传递 Bundle 数据。 ...原创 2018-09-05 16:09:52 · 402 阅读 · 0 评论 -
Android性能优化
本章重点: Android设备作为一种移动设备,不管是内存还是CPU的性能都受到了一定的限制,也意味着Android程序不可能无限制的使用内存和CPU资源,过多的使用内存容易导致OOM,过多的使用CPU资源容易导致手机变得卡顿甚至无响应(ANR)。这也对开发人员提出了更高的要求。 本章主要介绍一些有效的性能优化方法。主要包括布局优化、绘制优化、内存泄漏优化、响应速度优化、ListView优化、B...原创 2019-02-26 17:55:32 · 420 阅读 · 0 评论
分享