Android博客大汇总

目录介绍
链接:https://juejin.im/post/5d60ad5df265da03c42899f1
01.基础组件(9篇)
02.IPC机制(7篇)
03.View原理(9篇)
04.动画机制(2篇)
05.Res资源(6篇)
06.消息机制(12篇)
07.多媒体(16篇)
08.View事件(9篇)
09.多线程(12篇)
10.Window(19篇)
11.WebView(4篇)
12.网络相关(7篇)
13.注解(14篇)
14.音视频(13篇)
15.优化相关(19篇)
16.流行框架(23篇)
17.数据处理
18.framwork
19.复杂控件(12篇)
20.Bug管理
21.经典总结(16篇)
23.架构技术(13篇)
24.kotlin(29篇)
25.RecyclerView(31篇)
26.组件化(7篇)
27.路由框架(7篇)

好消息

博客笔记大汇总【16年3月到至今】,包括Java基础及深入知识点,Android技术博客,Python学习笔记等等,还包括平时开发中遇到的bug汇总,当然也在工作之余收集了大量的面试题,长期更新维护并且修正,持续完善……开源的文件是markdown格式的!同时也开源了生活博客,从12年起,积累共计N篇[近100万字,陆续搬到网上],转载请注明出处,谢谢!
链接地址:github.com/yangchong21…
如果觉得好,可以star一下,谢谢!当然也欢迎提出建议,万事起于忽微,量变引起质变!

01.基础组件

02.Activity基础介绍

Activity生命周期,特殊情况下生命周期,Activity的启动模式,特殊情况栈交互,Activity的Flags

03.Activity启动流程

Launcher启动开启Activity,ActivityManagerService详谈,执行栈顶Activity的onPause方法,启动Activity所属的应用进程,执行启动Acitivity重点逻辑

04.Activity布局创建

handleLaunchActivity,performLaunchActivity,activity.attach,Activity的onCreate方法,setContentView源码分析

05.Activity布局绘制

Activity布局加载简介,handleResumeActivity,WindowManager作用,performTraversals()方法,Activity布局绘制总结

06.Activity探坑分析

Activity异常生命周期,后台Activity被系统回收,如何判断activity优先级,App切换到后台分析,Activity传递参数数据,Activity任务战Task

07.BroadCastReceiver1

什么是广播Broadcast,广播Broadcast作用,广播Broadcast分类,动态注册BroadCast,发送本地广播

08.BroadCastReceiver2

监听网络状态变化,监听电量变化,应用安装更新卸载监听

09.BroadCastReceiver3

广播实现原理,抽象方法onReceive(),广播的类型,内存泄漏分析

12.Fragment基础

Fragment生命周期,Fragment静态和动态使用方式,Fragment回退栈,Fragment与Activity通信,Fragment旋转场景,FragmentAdapter选择

13.Fragment进阶

什么是内存重启,onHiddenChanged回调时机,Fragment与Activity之间传值,Fragment与Fragment之间传值,为何不构造传值,FragmentManager栈视图,Fragment之懒加载使用,思考Fragment能否不依赖Activity

14.Fragment填坑

getActivity()空指针,Fragment发生重叠,Fragment高耦合性,处理返回键逻辑

16.Fragment源码

Fragment管理流程源码分析,Fragment生命周期是怎么来的,Fragment回退栈是如何实现的

32.Android混淆

什么是混淆,proguard-rules.pro文件

36.CompileSdkVersion和MinSdkVersion

CompileSdkVersion的作用,MinSdkVersion的作用,TargetSdkVersion的作用

40.Log深入解析

关于Log源码介绍

02.IPC机制

01.IPC通信方式介绍

使用Intent,使用文件共享,使用Messenger,使用AIDL,使用ContentProvider,使用Socket

02.IPC之线程进程

Android中如何控件进程,进程的重要性,Android中线程,工作线程

05.IPC之序列化

什么是IPC,开启多进程,多进程影响,Serializable,Parcelable

06.IPC之Messager

Messenger基本概述,服务端,客户端,双向通信

11.Aidl基础介绍

什么是AIDL,AIDL作用,AIDL支持数据类型,服务端和客户端,注意问题

12.Aidl通信案例

aidl通信业务需求,操作步骤伪代码,案例测试调试,可能出现的问题,aidl不要做耗时操作

03.View原理

01.View绘制流程

View绘制的流程框架,View中重要方法,自定义View优化策略

04.View之onMeasure深入介绍

Measure流程分析,MeasureSpec的确定,View的测量流程

05.View之onLayout深入分析

Layout流程,View的布局流程

06.View之onDraw深入介绍

onDraw源码分析,onDraw案例之绘制圆环 ,onDraw案例之绘制圆形ImageView 等等

07.View之Canvas,Paint,Matrix,RectF等介绍

Paint画笔介绍,图形绘制,文本绘制;Canvas画布介绍,设置属性,画图【重点】;Matrix变换矩阵介绍 ,RectF介绍 ,关于使用到这几个属性的自定义View案例

08.View之invalidate,requestLayout,postInvalidate

requestLayout、invalidate与postInvalidate作用与区别?

10.获取View宽高

为何直接获取宽高为0?onWindowFocusChanged获取宽高,view.post(runnable)获取宽高,ViewTreeObserver获取宽高,手动测量控件宽高,这几种方式的区别介绍分析。

12.自定义View控件

自定义控件步骤,创建View ,测量View(Measure) ,绘制View(Draw),与用户进行交互,优化自定义View

13.自定义ViewGroup

自定义ViewGroup步骤,创建ViewGroup,测量View(Measure),布局View(Layout),绘制View(Draw),事件分发处理,与用户进行交互,自定义控件优化

04.动画机制

01.动画机制总结

Android动画类型分类,实现方式,ValueAnimator与ObjectAnimator区别,以及补间动画原理,部分源码分析

02.动画源码解析

Animation和Animator区别,Animation运行原理和源码分析,如何计算动画数据,动画数据如何存储,Animation的调用;Animator运行原理和源码分析,属性动画新的概念,属性动画start执行流程,属性动画cancel和end执行流程,属性动画pause和resume执行流程,

07.加载json动画

如何解析json动画,加载动画优化点,加载json动画原理,部分源码解析说明,性能与常见动画分析,可能出现的异常

05.Res资源(6篇)

09.Selector选择器总结

selector创建方式,状态设置说明,义的xml文件可以作为两种资源使用:drawable和color。TextView如何设置背景和字体选择器?

10.Shape自定义图形汇总

shape可以自定义四种类型的形状,常用方法介绍

11.Style样式汇总

样式的定义,样式的用法不只是用于单个View,也能用于Activity或整个Application,如何简化样式从而分类拆分成多个文件

12.主题Theme的使用总结

style设置

13.attr属性介绍

attr属性的定义/读取/出错/使用,自定义attr属性与读取,如果在attr中不同View引用相同属性名字时出现错误的解决方法

06.消息机制

01.Handler基础使用

Handler常见使用方式,在子线程中定义Handler,Handler的post方法和view的post方法,避免子线程手动创建looper,解决Handler内存泄漏

02.Handler机制体系

Handler作用与功能,MessageQueue作用与功能,Looper作用与功能,Message作用与功能,消息机制实现的步骤

03.消息机制源码流程

Handler发送消息,Looper轮训操作,MessageQueue消息队列,MessageQueue传递消息给Handler,Handler接收消息并处理

04.Handler深度解析

Handler构造方法分析,handler.sendMessage(msg)

05.Looper深度解析

Activity如何自动绑定Looper,Looper.prepare()方法源码分析,Looper.prepare()能否调用多次,Looper中用什么存储消息,Looper.loop()方法源码分析,Activity生命周期依赖Looper,Looper死循环为何不阻塞应用卡死

06.MessageQueue

MessageQueue作用介绍,MessageQueue的定义,enqueueMessage()源码,next()方法源码分析

08.主线程中Looper的轮询死循环为何没阻塞主线程

造成ANR的原因,Looper.loop()方法无限循环,处理消息handleMessage方法,loop的循环消耗性能吗?

09.子线程更新UI

Android中子线程可以更新UI吗,子线程更新UI有哪些方式,runOnUiThread如何实现子线程更新UI,View.post(Runnable r)更新UI,子线程更新UI总结概括

12.HandlerThread

HandlerThread定义,HandlerThread几个特性,HandlerThread源码分析 ,

13.消息机制ThreadLocal

Android消息机制,ThreadLocal基础介绍,ThreadLocal分析 ,Handler为何用ThreadLocal

07.多媒体

01.图片相关整理

网络请求图片资源,保存bitmap图片,实现带有圆角的图片

03.加载图片资源介绍

加载Bitmap

04.Bitmap计算内存

如何计算占用内存?bitmap内存大小 = 图片长度 x 图片宽度 x 单位像素占用的字节数计算内存对吗?一个像素占用内存,使用API获取内存

05.Bitmap回收问题

recycle()方法,Bitmap缓存原理,Bitmap的复用,Bitmap如何复用

06.Bitmap压缩处理

Bitmap的压缩方式,Bitmap质量压缩,Bitmap采样率压缩,Bitmap缩放法压缩

07.Bitmap图片处理

Bitmap,Drawable,InputStream,Byte[]之间进行转换,将View控件转换为bitmap,Bitmap优化逻辑与原理

08.加载大图流程

网络请求图片,压缩缓存图片,填充到View控件,自定义图片控件,加载大图原理

09.SurfaceView源码分析

SurfaceView是什么,SurfaceView源码分析 ,在子线程中执行绘制操作为何不会阻塞线程?

10.Android保存多张图片到本地

实际开发保存图片遇到的问题,直接用http请求图片并保存本地,用glide下载图片保存本地,如何实现连续保存多张图片

11.Bitmap,Drawable,InputStream

Bitmap,Drawable,InputStream,Byte[ ] 之间进行转换

12.Bitmap避免OOM

Bitmap占用内存介绍,影响Bitmap占用内存因素,图像加载的方式,加载图像内存去哪里了,具体实现加载图片步骤

16.自定义阴影控件

阴影效果有哪些实现方式,实现阴影效果Api,设置阴影需要注意哪些,常见Shape实现阴影效果,自定义阴影效果控件,如何使用该阴影控件,在recyclerView中使用注意点

08.View事件

01.View事件基础

事件分发的对象是谁?事件在哪些对象间进行传递?事件分发过程涉及方法?事件分发机制方法说明?

02.View事件分发场景

事件分发背景描述,事件传递情况

03.View事件机制源码分析

Android中事件分发顺序?Activity的事件分发机制?ViewGroup事件的分发机制 ?View事件的分发机制?onTouch()和onTouchEvent()的区别?

04.View事件机制

触摸事件,分发事件,拦截事件,三个事件机制怎么向其调用者传递处理结果,滑动冲突的思路及方法 ,以及具体的滑动冲突解决方案案例

05.View的滑动冲突

通过一个滑动冲突的案例,来讲解外部拦截法解决滑动冲突,内部拦截法解决滑动冲突

07.View事件总结1

Android事件分发机制,View和ViewGroup分发事件,onTouch()、onTouchEvent()和onClick()执行顺序,View处理事件的优先级,点击事件传递过程,事件传递规则要点

08.View事件总结2

View滑动有哪些方法,Activity事件分发过程,Window事件分发过程,DecorView

你可能感兴趣的:(安卓)