Android性能优化

本章重点: Android设备作为一种移动设备,不管是内存还是CPU的性能都受到了一定的限制,也意味着Android程序不可能无限制的使用内存和CPU资源,过多的使用内存容易导致OOM,过多的使用CPU资源容易导致手机变得卡顿甚至无响应(ANR)。这也对开发人员提出了更高的要求。 本章主要介绍一...

2019-02-26 17:55:32

阅读数 35

评论数 0

Bitmap的加载和Cache

本章总结: 主要介绍: 如何高效地加载一个Bitmap Android中常用的缓存策略 i. LruCache——内存缓存 ii. DiskLruCache——磁盘缓存 如何优化列表的卡顿 12.1 Bitmap的高效加载 BitmapFactory类提供四种方法: decodeFil...

2019-02-21 18:46:52

阅读数 17

评论数 0

Android的线程和线程池

本章总结: Android的线程和线程池 在Android系统,线程主要分为主线程和子线程,主线程处理和界面相关的事情,而子线程一般用于执行耗时操作。 在Android中,线程的形态有很多种: i. AsyncTask封装了线程池和Handler。 ii. HandlerThread是具有消息...

2019-02-20 17:03:37

阅读数 46

评论数 0

Android的消息机制

Android的消息机制 从开发的角度来说,Handler是Android消息机制的上层接口。Handler的运行需要底层 的 MessageQueue 和 Looper 的支撑。 MessageQueue是一个消息队列,内部存储了一组消息,以队列的形式对外提供插入和 删除的工作,内部采用...

2019-02-19 16:31:27

阅读数 25

评论数 0

理解Window和WindowManager

本章重点: indow是一个抽象类,具体实现是 PhoneWindow 。不管是 Activity 、 Dialog 、 Toast 它们的视图都是附加在Window上的,因此Window实际上是View的直接管理者。WindowManager 是外界访问Window的入口,通过Wind...

2018-12-19 16:00:22

阅读数 30

评论数 0

Android动画深入分析

本章重点: Android动画分为三种: View动画 帧动画 属性动画 1 View动画 View动画的作用对象是View,支持四种动画效果: 平移 缩放 旋转 透明 1.1 View动画的种类 上述四种变换效果对应着Animation四个子类: TranslateAnimation ...

2018-12-14 18:20:51

阅读数 19

评论数 0

View的工作原理(二)

本章重点: 1 .View的工作流程 1.1 measure过程 分两种情况: 1. View通过 measure 方法就完成了测量过程 2. ViewGroup除了完成自己的测量过程还会便利调用所有子View的 measure 方法,而且各个子View还会递归执行这个过程。 ...

2018-12-07 16:57:18

阅读数 29

评论数 0

View的工作原理(一)

本章主要内容 1. 初识ViewRoot和DecorView ViewRoot的实现是 ViewRootImpl 类,是连接WindowManager和DecorView的纽带,View的三大流(mearsure、layout、draw)均是通过ViewRoot来完成。当Activity对象...

2018-11-21 15:13:50

阅读数 29

评论数 0

View的事件体系(二)

本章重点 1.View的事件分发机制 1.1 点击事件的传递规则 首先我们先看看下面一段伪代码,通过它我们可以理解到点击事件的传递规则: public boolean dispatchTouchEvent (MotionEvent ev){ boolean consume = false; i...

2018-11-20 18:16:25

阅读数 32

评论数 0

View的事件体系(一)

view的基础知识

2018-11-19 15:33:38

阅读数 28

评论数 0

Android中的IPC方式-Binder连接池以及选择合适的IPC方式

本节重点 Binder连接池 AIDL是一种最常用的IPC方式,是日常开发中涉及IPC时的首选。前面提到AIDL的流程是 客户端在Service的onBind方法中拿到继承AIDL的Stub对象,然后客户端就可以通过这个Stub对象进行RPC。 那么如果项目庞大,有多个业务...

2018-09-17 16:58:08

阅读数 51

评论数 0

Android中的IPC方式 - ContentProvider与Socket

使用ContentProvider 1. ContentProvider是四大组件之其底层实现和Messenger一样是BinderContentProvider天生就是用来进程间通信,只需要实现一个自定义或者系统预设置的ContentProvider,通过ContentResolve...

2018-09-14 16:11:41

阅读数 128

评论数 0

Android中的IPC方式 - AIDL(二)

本章重点总结: 使用AIDL 如果有大量的并发请求,使用Messenger就不太适合,同时如果需要跨进程调用服务端的方法,Messenger就无法做到了。这时我们可以使用AIDL。 流程如下: 1. 服务端需要创建Service来监听客户端请求,然后创建一个AIDL文...

2018-09-06 16:47:25

阅读数 162

评论数 0

Android中的IPC方式(一)-Messenger

本章重点 IPC主要有以下方式: 1. Intent中附加extras来传递消息 2. 共享文件 3. Binder方式 4. 四大组件之一的ContentProvider 5. Sock 1 使用Bundle 四大组件中的三大组件(Act...

2018-09-05 16:09:52

阅读数 143

评论数 0

IPC基础概念介绍

"*" 本章内总总结笔记: 主要介绍 Serializable 、 Parcelable 、 Binder 。 **Serializable接口** 1. Serializable 是Java提供的一个序列化接口(...

2018-08-06 14:51:13

阅读数 71

评论数 0

设计模式-享元模式

内存溢出对java应用来说实在是太平常了,有以下两种可能。 内存泄露 无意识的代码缺陷,导致内存泄露,JVM不能获得连续的内存空间 对象太多 代码写的很烂,产生的对象太多,内存被耗完 业务需求,一个考试系统,登陆后需要填写一下信息: 考试科目,选择框 考试地点,选择框,根据科目不同,列表...

2018-07-08 22:32:30

阅读数 56

评论数 0

设计模式-备忘录模式

备忘录模式实例:《预见未来》中男主角可以预见未来,遇到女主角可以反复尝试打动女主角。 原始状态的保留和恢复这块,如何保留一个原始状态,如何恢复一个原始状态才是最重要的,那想想看,我们应该怎么去实现呢?很简单,我们定义一个中间变量,保留这个原始状态。我们先看看类图: 太简单的类图了,stat...

2018-06-28 21:40:00

阅读数 41

评论数 0

设计模式-中介者模式(Mediator Pattern)

中介者模式以实体超市(苏宁、国美等)正常运行的采购业务,销售业务,库存业务之间的配合为例子 先看类图: Purchase负责采购管理,buyIBMComouter是指定了采购IBM电脑,refuseBuyIBM是不再采购IBM了,程序如下: package com.example.x...

2018-06-24 15:44:59

阅读数 113

评论数 0

设计模式-原型模式(Prototype Pattern)

我们今天来讲原型模式。我们先通过一个例子来解释一下什么是原型模式。 现在电子账单越来越流行,比如你的信用卡,到月初的时候银行就会发一份电子邮件到你的邮箱中,这个月消费多少,积分多少等等,每个月发一次,但是还有一种也是银行发的邮件你肯定有印象:广告信。电子账单系统一般包括:账单分析、账单生成器、广...

2018-06-24 02:10:46

阅读数 117

评论数 0

设计模式-访问者模式

今天来讲访问者模式,现在有这么一个需求,我要把公司中的所有人员信息都打印汇报上去,我们来看类图: 这个类图还是比较简单的,使用了一个模版方法模式,要把所有的信息都打印出来,我们先来看一下抽象类: package com.example.xpeng.myapplication; imp...

2018-06-18 23:56:32

阅读数 37

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭