![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android进阶
qq_43257419
这个作者很懒,什么都没留下…
展开
-
Android进阶:二、从源码角度看透 HandlerThread 和 IntentService 本质
上篇文章我们讲日志的存储策略的时候用到了HandlerThread,它适合处理“多而小的任务”的耗时任务的时候,避免产生太多线程影响性能,那这个HandlerThread的原理到底是怎样的呢?我们现在从源码角度解读:【文章底有资料领取】HandlerThread:继承自Thread,是一个可以使用Handler的Thread。因为在run方法内维护了一个Looper,可以通过Handler...原创 2019-03-20 15:55:58 · 116 阅读 · 0 评论 -
Android进阶:六、在子线程中直接使用 Toast 及其原理
最近因为个人原因,很久没有更文章,感谢关注的小伙伴,望谅解!一般我们都把Toast当做一个UI控件在主线程显示。但是有时候非想在子线程中显示Toast,就会使用Handler切换到主线程显示。但是子线程中真的不能直接显示Toast吗?答案是:当然可以。那应该怎么操作呢?在当前线程中先初始化一个Looper即可!Looper.prepare();Toast.makeTex...原创 2019-03-28 16:04:35 · 607 阅读 · 0 评论 -
从技术面试官的角度怎样看待你的简历和面试?
公司组织过多次校园招聘和社会招聘,很多人在招聘技术专家组中浑水摸鱼、鱼目混珠、插科打诨,所以也谈谈面试中那些事儿。一.简历简历的重要性是不言而喻的,如果简历写的好,我们可能已经内心里有了录用他的想法,把候选人请来只是验证一下想法的正确性,看看候选人是否有意向来。关于简历,从技术面试官的角度来看,需要注意以下几点:1 简明扼要基本上我们看简历都是第一页决定了整体印象。有一次一个工作了1...原创 2019-03-22 16:29:53 · 436 阅读 · 0 评论 -
Android进阶:五、RxJava2源码解析 2
上一篇文章Android进阶:四、RxJava2 源码解析 1里我们讲到Rxjava2 从创建一个事件到事件被观察的过程原理,这篇文章我们讲Rxjava2中链式调用的原理。本文不讲用法,仍然需要读者熟悉Rxjava基本的用法。【文末有资料领取】一.Rxjava2 的基本用法Rxjava是解决异步问题的,它的链式调用让代码看起来非常流畅优雅。现在我们带上线程切换以及链式调用来看看。下面代...原创 2019-03-22 14:42:35 · 134 阅读 · 0 评论 -
Android性能优化之异常处理&应用瘦身
简介常见的异常无非就是ANR和OOM,掌握如何避免这两种异常有助于提升应用性能。另外,应用瘦身虽然不是性能的优化,而是app的优化,所以也放到这篇文章一起分享。异常处理ANR原因简述一下哪些地方是主线程:Activity的所有生命周期回调 Service默认执行在主线程 BroadCastReceiver的onReceiver回调 没有使用子线程的looper的han...原创 2019-03-21 17:47:41 · 197 阅读 · 0 评论 -
Android性能优化之内存优化&启动优化
内存优化内存检测工具Memory Monitors Memory Monitors是Android Studio中的工具,通过图形界面的方式比较直观的看到内存抖动的情况,还可以手动触发GC,配合内存快照,可以准确的看到哪些地方存在内存泄漏。 LeakCanary LeakCanary是一个检测内存泄漏的开源类库,使用比较简单。可直接在gitHub找到。 在应用内做相应的配置后,安装...原创 2019-03-21 17:44:09 · 310 阅读 · 0 评论 -
组件化极简方案--双方案可选
简介随着项目越来越完善,功能越来越多,代码也变得越来越复杂。为了更方便开发,以及多个模块并行开发,之前的模块分包的方式已经不能满足当前的需求,所以组件化开发势在必行。本文介绍了当前比较流行的组件化方案,模块间通信采用阿里的ARoute路由,并且在项目中提供了两种不同的组件化运行的方式,各有优劣,可根据自己的项目来选择不同的方式。思路模块解耦,把公共的功能三方及工具类下沉到底层,其他模块...原创 2019-03-21 17:36:52 · 177 阅读 · 0 评论 -
Android进阶:四、RxJava2 源码解析 1
本文适合使用过Rxjava2或者了解Rxjava2的基本用法的同学阅读一.Rxjava是什么Rxjava在GitHub 主页上的自我介绍是 "a library for composing asynchronous and event-based programs using observable sequences for the Java VM"(一个在 Java VM 上使用可观...原创 2019-03-21 15:54:01 · 120 阅读 · 0 评论 -
Android进阶:三、这一次,我们用最详细的方式解析Android消息机制的源码
决定再写一次有关Handler的源码Handler源码解析一、创建Handler对象使用handler最简单的方式:直接new一个Handler的对象Handler handler = new Handler();所以我们来看看它的构造函数的源码: public Handler() { this(null, false); } ...原创 2019-03-20 20:11:25 · 108 阅读 · 0 评论 -
Android进阶:七、Retrofit2.0原理解析之最简流程【上】
retrofit 已经流行很久了,它是Square开源的一款优秀的网络框架,这个框架对okhttp进行了封装,让我们使用okhttp做网路请求更加简单。但是光学会使用只是让我们多了一个技能,学习其源码才能让我们更好的成长。本篇文章是在分析retrofit的源码流程,有大量的代码,读者最好把源码下载下来导入IDE,然后跟着一起看,效果会更好(文末有源码获取方式)一.retrof...原创 2019-04-08 16:05:46 · 211 阅读 · 0 评论