- 博客(16)
- 收藏
- 关注
原创 Android线程(三 IntentService)
Android线程(三 IntentService)介绍首先这是一个Service,我们常用来进行后台计算的,内部用的主要就是HandlerThread(我上一篇讲过,就不再重述了)。但是由于这是和Service绑定在一块的,(我们知道由于有时候我们都是把一些重要的计算或者其他过程,为了提高它的优先级,不被系统杀死,会和组件绑定在一块常见的就有Service),它是比一般的Thread...
2018-06-30 16:34:28 163
原创 Android线程(二 HandlerThread)
Android线程(二 HandlerThread)介绍:首先它本身就是一个Thread,但是内部有一个Handler的Thread。因为它在run方法内部调用了 Looper.prepare()方法,准备了一个Looper,同时调用了Looper.loop()方法,让消息队列动起来,就有了Handler的必要因素(同时,这也提醒我们,Hander发消息并不是UI线程所独有的,前提你...
2018-06-30 16:33:42 187
原创 Android线程(一 AsyncTask)
Android线程(一 AsyncTask)介绍:这个是一个轻量级的异步任务类,里面分装了Handler和线程池,我们可以通过这个类更加简单的做异步任务和更新UI(注意,这个是轻量级的,如果你的任务特别耗时,建议还是用线程池)下面我演示下载的逻辑代码演示public class MainActivity extends AppCompatActivity {@Overr...
2018-06-30 16:22:33 165
原创 Picasso(四into设置图片方法解析)
Picasso(四into设置图片方法解析)这就是具体的设置图片的操作public void into (ImageView target, Callback callback){ long started = System.nanoTime(); // 通过当前的Looper来判断是否在主线程 checkMain(); //...
2018-06-24 21:08:10 348
原创 Picasso(三load加载方法解析)
Picasso(三load加载方法解析)首先我们在这里可以传入一个url,资源路径等。public RequestCreator load (@Nullable String path){ if (path == null) { return new RequestCreator(this, null, 0); } i...
2018-06-24 21:07:36 516
原创 Picasso(二get获取单例方法解析)
Picasso(二get获取单例方法解析)public static Picasso get() { if (singleton == null) { synchronized (Picasso.class) { if (singleton == null) { if (PicassoProvider.contex...
2018-06-24 21:07:08 545
原创 Picasso(一基本使用)
Picasso(一基本使用)首先添加依赖(和我之前分析的EventBus一样,都是从一些重要的方法入手,获取不同的版本有所区别,但是相近的版本都是有联系的)implementation 'com.squareup.picasso:picasso:2.71828'下面是我们经常使用的模板代码Picasso.get()// 通过单例获取对象 // 加载的网络U...
2018-06-24 21:06:24 1138
原创 Android之IPC(四BinderPool的介绍和使用)
Android之IPC(四BinderPool的介绍和使用)顾名思义就是将很多AIDL放在池子里,再来调用。至于为什么要使用BinderPool呢,因为当我们的AIDL需要多个的时候,我们不可能创建多个Service,在客户端建立多个连接来连接,这样是不可取的。我们就需要一个BinderPool,也就是说BinderPool就是一个Binder选择器,我们可以按我们的要求选择我们呢想要的Bin...
2018-06-15 13:15:35 322
原创 Android之IPC(三常用的进程间通信方式的介绍)
Android之IPC(三常用的进程间通信方式的介绍)使用Bundle之前序列化介绍过Parcelable接口,是支持不同进程传输的,一般我们都时把它放在Intent中传递,当然还有其他的用法,下面的Messenger就会用到。在Bundle中我们放入我们需要的信息即可。(后面就会用的到,这里不做过多介绍,常用的Intent,相信大家很熟悉了)使用文件共享(FileShare)...
2018-06-15 13:15:10 184
原创 Android之IPC(二 AIDL的介绍)
Android之IPC(二AIDL的介绍)根据图表分析:1.首先,客户端发出请求(bindService),当前线程会被挂起,一直等到服务端返回数据。2.这里通过Binder这个类(实现进程间通信的,这样了解即可),将方法的参数信息都写如data当中,(根据之前的讲解,很明显data如果用来传递,必须是序列的,这里是Parcelable)。3当两者位...
2018-06-15 13:14:39 127
原创 Android之IPC(一 序列化对象的使用和基础讲解)
Android之IPC(一 序列化对象的使用和基础讲解)这之后的几篇博客,都是参照安卓开发艺术探索和自己搜索的一些东西加以讲解(顺便推荐以下这本书,真的很好,你懂的)Serializable(java序列化接口)使用篇(我们我们简单定义一个bean类实现Serializable即可)public class SerializableBean implements Seriali...
2018-06-15 13:13:28 196
原创 EventBus(五post分析)
EventBus(五post分析)public void post(Object event) { // 注意此刻用的currentPostingThreadState时ThreadLocal,当前线程的独有的信息 PostingThreadState postingState = currentPostingThreadState.get(); List<Obj...
2018-06-08 19:05:11 193
原创 EventBus(四unregister分析)
EventBus(四unregister分析)public synchronized void unregister(Object subscriber) { // 通过这个map,获取该订阅者的所有事件订阅类型 List<Class<?>> subscribedTypes = typesBySubscriber.get(subscriber); ...
2018-06-08 19:04:13 276
原创 EventBus(三register分析)
EventBus(三register分析)EventBus使用register方法是我们用来注册订阅者的,接下我将从这个方法入手,跟踪源码进行分析。public void register(Object subscriber) { // 获取类对象,明显通过反射获取方法 Class<?> subscriberClass = subscriber.getClass...
2018-06-08 19:03:37 735
原创 EventBus(二getDefault())
EventBus(二getDefault()分析)之前我们简单介绍了EventBus如何使用,这里从getDefault()方法当作切入点。正如我们我们所知道的,我们使用EventBus都是使用这个方法拿到实例的,可是有什么用:/** * Convenience singleton for apps using a process-wide EventBus instance. */...
2018-06-08 19:02:49 2534
原创 EventBus(一基本使用)
EventBus解析说明(一基本使用)简介介绍:是一个Android的事件发布和订阅的框架,用来实现订阅者和发布者的解耦,来简化事件的传递。当代码量非常大的时候,我们常用的handler,broadcast,接口回调等,会让代码比较复杂,可能耦合比较高,而EventBus在事件传递就有着很NB的功能。(当然我们在其中没有解释的地方,接下来我都会有具体介绍)使用流程构...
2018-06-08 19:01:33 252
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人