摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处。 本篇继续上一篇《阿里巴巴Android编码规范》阅读纪要(一) ,还是建议各位同学有时间完整阅读一下《阿里巴巴Android编码规范》,如果实在没时间,就看我的本系列博客吧,主要摘录一些个人认为比较重要的地方。 UI 与布局部分 1,不能使用 Sc 阅读全文
posted @ 2018-03-16 10:20 WangLei_ClearHeart 阅读(875) 评论(1) 推荐(0) 编辑
摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处。 2月28日阿里巴巴首次公开内部安卓编码规范,试想那么多业务线,开发人员,没有一套规范管理起来是多么麻烦,以下是个人阅读Android基本组件部分过程中觉得不错的地方,摘录下来。 Android基本组件部分 1,Activity#onSaveInst 阅读全文
posted @ 2018-03-15 09:40 WangLei_ClearHeart 阅读(1824) 评论(4) 推荐(1) 编辑
摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处。 一、你总是想一步登天,却不知道路是一步步走出来的 大概是放年假前一个月开始招聘吧,陆陆续续到目前为止安卓面试10几个,IOS面试了15个左右,本以为很好招聘的,没想到没有一个合适的,要求本不高只想基础扎实一些,但是就这一条基础扎实是真的难,一个Ja 阅读全文
posted @ 2018-03-13 10:09 WangLei_ClearHeart 阅读(5394) 评论(37) 推荐(33) 编辑
摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处。 Java线程池技术属于比较“古老”而又比较基础的技术了,本篇博客主要作用是个人技术梳理,没什么新玩意。 一、Java线程池技术的由来 我们平时使用线程来进行异步操作时,线程的创建,销毁等相对来说都是比较消耗资源的,试想这样一个业务情景:高并发请求, 阅读全文
posted @ 2018-03-07 09:50 WangLei_ClearHeart 阅读(1379) 评论(1) 推荐(1) 编辑
摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处。 一、ThreadFactory概述以及源码分析 ThreadFactory很简单,就是一个线程工厂也就是负责生产线程的,我们看下ThreadFactory源码; 很简单吧,就是一个接口,newThread方法就是用来生产线程的,子类需要实现这个方法 阅读全文
posted @ 2018-02-24 09:39 WangLei_ClearHeart 阅读(23948) 评论(2) 推荐(1) 编辑
摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处。 一、策略模式定义 定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们之间可以相互替换,策略模式可以在不影响客户端的情况下发生变化。 好了,定义看看就完了,我知道你很烦看定义。 二、策略模式涉及到的三个角色 环境(Context)角 阅读全文
posted @ 2018-02-08 10:26 WangLei_ClearHeart 阅读(3539) 评论(1) 推荐(0) 编辑
摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处。 Java线程系列文章只是自己知识的总结梳理,都是最基础的玩意,已经掌握熟练的可以绕过。 一、从一个小Demo说起 上篇我们聊到了Java多线程的同步机制:Java多线程同步问题:一个小Demo完全搞懂。这篇我们聊一下java多线程之间的通信机制。 阅读全文
posted @ 2018-01-23 10:02 WangLei_ClearHeart 阅读(4311) 评论(0) 推荐(1) 编辑
摘要: 本文转自:https://www.jianshu.com/p/e1ab1a179fbb 翻译的国外一篇文章。 android M 的名字官方刚发布不久,最终正式版即将来临! android在不断发展,最近的更新 M 非常不同,一些主要的变化例如运行时权限将有颠覆性影响。惊讶的是android社区鲜有 阅读全文
posted @ 2018-01-17 11:19 WangLei_ClearHeart 阅读(2143) 评论(0) 推荐(0) 编辑
摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处。 Java线程系列文章只是自己知识的总结梳理,都是最基础的玩意,已经掌握熟练的可以绕过。 一、一个简单的Demo引发的血案 关于线程同步问题我们从一个简单的Demo现象说起。Demo特别简单就是开启两个线程打印字符串信息。 OutPutStr类源码: 阅读全文
posted @ 2018-01-17 10:35 WangLei_ClearHeart 阅读(9560) 评论(4) 推荐(4) 编辑
摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处。 一、守护线程概述及示例 守护线程就是为其它线程提供"守护"作用,说白了就是为其它线程服务的,比如GC线程。 java程序中线程分两种:用户线程与守护线程,用户线程就是我们平常编写的一个个子线程,比如负责下载的线程,上传数据的线程等。如果一个线程调用 阅读全文
posted @ 2018-01-15 17:14 WangLei_ClearHeart 阅读(977) 评论(0) 推荐(0) 编辑
摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处。 一、JobScheduler概述 JobScheduler是安卓5.0版本推出的API,允许开发者在符合某些条件时创建执行在后台的任务。在Android开发中,会存在这些场景:你需要在稍后的某个时间点或者当满足某个特定的条件时执行一个任务,例如当设 阅读全文
posted @ 2018-01-12 11:29 WangLei_ClearHeart 阅读(4086) 评论(0) 推荐(1) 编辑
摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处。 一、WakeLock概述 wakelock是一种锁的机制,只要有应用拿着这个锁,CPU就无法进入休眠状态,一直处于工作状态。比如,手机屏幕在屏幕关闭的时候,有些应用依然可以唤醒屏幕提示用户消息,这里就是用到了wakelock锁机制,虽然手机屏幕关闭 阅读全文
posted @ 2018-01-10 09:10 WangLei_ClearHeart 阅读(29459) 评论(1) 推荐(1) 编辑
摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处。 一、AlarmManager概述 AlarmManager是安卓系统中一种系统级别的提示服务,可以在我们设定时间或者周期性的执行一个intent,这个intent可以是启动Service服务、发送广播、跳转Activity,看到这里是不是会想这不就 阅读全文
posted @ 2018-01-08 09:27 WangLei_ClearHeart 阅读(9678) 评论(1) 推荐(0) 编辑
摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处。 本篇博客只是记录一下ContentProvider的使用(这部分工作中用的比较少总是忘记),没有太深入研究。已经熟练掌握使用方式,想深入了解内部机制的同学可以绕过了。 一、ContentProvider概述 Android应用程序运行在不同的进程空 阅读全文
posted @ 2018-01-03 17:21 WangLei_ClearHeart 阅读(3056) 评论(0) 推荐(0) 编辑
摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处。 一、IntentService概述及使用举例 IntentService内部实现机制用到了HandlerThread,如果对HandlerThread不了解的话建议先看上篇文章:Android HandlerThread使用介绍以及源码解析。 In 阅读全文
posted @ 2017-12-15 09:46 WangLei_ClearHeart 阅读(1376) 评论(0) 推荐(0) 编辑
摘要: 摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处。 一、HandlerThread的介绍及使用举例 HandlerThread是什么鬼?其本质就是一个线程,但是HandlerThread在启动的时候会帮我们准备好一个Looper,并供外界使用,说白了就是使我们在子线程中更方便的使用Handl 阅读全文
posted @ 2017-12-14 09:58 WangLei_ClearHeart 阅读(1748) 评论(0) 推荐(0) 编辑
摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处。 一、概述 Android开发的时候,我们时长遇到传递对象的需求,但是我们无法将对象的引用传给Activity或者Fragment,我们需要将这些对象放到一个Intent或者Bundle里面,然后再传递,这时候就用到了序列化,所谓序列化就是把Java 阅读全文
posted @ 2017-12-12 09:38 WangLei_ClearHeart 阅读(7009) 评论(0) 推荐(0) 编辑
摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处。 一、概述 我们知道更新UI操作我们需要在UI线程中操作,如果在子线程中更新UI会发生异常可能导致崩溃,但是在UI线程中进行耗时操作又会导致ANR,这时异步消息处理机制就登场了,大体流程就是我们在UI线程创建一个Handler,子线程创建一个Mess 阅读全文
posted @ 2017-12-08 10:04 WangLei_ClearHeart 阅读(1427) 评论(0) 推荐(3) 编辑
摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处。 上一篇中共同探讨了ThreadLocal,这篇我们一起看下常提到的Message消息池到底是怎么回事,废话少说吧,进入正题。 对于稍有经验的开发人员来说我们在使用Handler发送异步消息获取Message的时候都会使用如下代码获取一个Messag 阅读全文
posted @ 2017-12-06 15:59 WangLei_ClearHeart 阅读(2510) 评论(0) 推荐(0) 编辑
摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处。 ThreadLocal简介 ThreadLocal是一个线程内部的数据存储类,通过它可以在指定的线程中存储数据,数据存储以后,只有在指定线程中可以获取到存储的数据,对于其它线程来说无法获取到数据。比如:我们在子线程A中存储数据x,只有在子线程中取数 阅读全文
posted @ 2017-11-16 17:56 WangLei_ClearHeart 阅读(1210) 评论(0) 推荐(0) 编辑
摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处。 对于稍有自定义View经验的安卓开发者来说,onMeasure,onLayout,onDraw这三个方法都不会陌生,起码多少都有所接触吧。 在安卓中,一个View显示到屏幕上基本上都是经过测量,摆放,绘制这三个过程才显示出来,那么这三个过程到底是怎 阅读全文
posted @ 2017-10-17 15:17 WangLei_ClearHeart 阅读(2400) 评论(1) 推荐(0) 编辑
摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处。 1 为什么要分析setContentView方法 作为安卓开发者相信大部分都有意或者无意看过如下图示:PhoneWindow,DecorView这些究竟都是些神马玩意?图示的层级关系是怎么来的?我们自己所写的布局是怎么加载到窗体上的?以及在上一篇《 阅读全文
posted @ 2017-09-18 10:35 WangLei_ClearHeart 阅读(7562) 评论(0) 推荐(0) 编辑
摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处。 在前两篇我们共同探讨了事件传递机制《View篇》与《ViewGroup篇》,我们知道View触摸事件是ViewGroup传递过去的,比如一个很简单的布局最外层是LinearLayout,里面就一个Button,我们点击Button的时候触摸事件是由 阅读全文
posted @ 2017-09-08 17:53 WangLei_ClearHeart 阅读(1781) 评论(0) 推荐(0) 编辑
摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处。 在上一篇《Android事件传递机制详解及最新源码分析——View篇》中,详细讲解了View事件的传递机制,没掌握或者掌握不扎实的小伙伴,强烈建议先阅读上一篇。 好了,废话还是少说,直奔主题,开始本篇的ViewGroup事件传递机制探索之旅。 依然 阅读全文
posted @ 2017-09-05 11:36 WangLei_ClearHeart 阅读(1015) 评论(0) 推荐(1) 编辑
摘要: 摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处。 对于安卓事件传递机制相信绝大部分开发者都听说过或者了解过,也是面试中最常问的问题之一。但是真正能从源码角度理解具体事件传递流程的相信并不多,那么接下来我将写四篇文章从我目前掌握的情况来与大家共同探讨一下安卓事件传递机制。四篇文章分别为:Vi 阅读全文
posted @ 2017-08-29 18:01 WangLei_ClearHeart 阅读(1053) 评论(0) 推荐(0) 编辑