Android
2845xlc
这个作者很懒,什么都没留下…
展开
-
Android N Telecom对Audio的管理
Android N Telecom对Audio的管理Android N,对通话时Audio的管理与M相比发生了比较大的变化,主要是引入了状态机。Android N Telecom对Audio的管理CallAudioManageronCallAddedupdateForegroundCallonCallEnteringStateCall call int stateonCallStat原创 2017-02-26 15:17:14 · 3289 阅读 · 0 评论 -
StateMachine 状态机原理
The state machine defined here is a hierarchical state machine which processes messages and can have states arranged hierarchically. 这里通过CallAudioRouteStateMachine 为线索来看状态机的原理。State状态机首先要知道的肯定就是状原创 2017-03-01 15:22:59 · 4654 阅读 · 0 评论 -
模板模式的应用
1.《Java与模式》描述:模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。 顾名思义,模板模式就是给你一个模板(声明的抽象方法),由你实现的子类来填充这些方法,然后执行start,这个类就会按照固定的套路执行原创 2017-08-20 14:45:07 · 485 阅读 · 0 评论 -
电话中工厂模式和源码分析
工厂模式PhoneFactory http://blog.csdn.net/jason0539/article/details/23020989 工厂模式是最常用的实例化模式之一,就是定义了一些接口,让子类决定实例化哪个类。 在telephony中,其实使用了大量的工厂模式,这里主要了解PhoneFactory /frameworks/opt/telephony原创 2017-08-07 20:45:13 · 690 阅读 · 0 评论 -
AsyncTask 原理
AsyncTask是Android提供的一个工具,可以用来处理轻量级的异步任务,AsyncTask是一个非常经典的模板模式的实现,模板模式:大概就是说,执行一次exeute,可以依次执行一些可以被你重写的方法。就像AsyncTask,每次执行exeute,都会依次执行onPreExecute,doInBackground,onPostExecute,这三个方法只有doInBackground会在异步原创 2017-03-03 10:56:53 · 573 阅读 · 0 评论 -
getStringForUser原理和线程安全
在电话中有很多的设置项,因为电话的设置项有些需要在全局使用,所以通过Settings.System.putStringForUser 和 Settings.System.getStringForUser,来写入和读取一些设置项。1.问题描述getStringForUser有时候拿到了错误的值。通过一些log,我们发现:出现问题时都是在多个线程同时读写的时候。所以它肯定涉及到了线程安全的问题。2.Se原创 2017-09-03 15:48:03 · 5002 阅读 · 1 评论 -
观察者模式在电话中的应用
定义:观察者模式就是监听一个对象的变化,当一个对象发生变化时,所有监听其变化的对象都会收到通知,Android中非常多的东西都是观察者模式的实现。1.InCallStateListenerincallui,是一个mvp的经典实现,所有的presenter都会监听这个listener1.1定义/** * Interface implemented by classes that need t原创 2017-09-17 17:51:47 · 518 阅读 · 0 评论