AndroidNote
Android study notes.
Install / Use
/learn @CharonChui/AndroidNoteREADME
Android学习笔记

十年生死两茫茫,不思量,自难忘,华年短暂,陈辞岁月悠悠伤,
满腔热血已芜荒,展未来,后生强,战战兢兢,如履薄冰心彷徨,
青丝化雪、鬓角成霜,已是英雄迟暮,人生怎慷慨激昂?
目录
-
[源码解析][43]
- 自定义View详解
- Activity界面制过程详解
- Activity启动过程
- [Android Touch事件分发详解][4]
- [AsyncTask详解][5]
- [butterknife源码详解][6]
- [InstantRun详解][7]
- [ListView源码分析][8]
- [VideoView源码分析][9]
- [View绘制过程详解][10]
- [LeakCanary源码分析][284]
- [网络部分][11]
- [HttpURLConnection详解][12]
- [HttpURLConnection与HttpClient][13]
- [volley-retrofit-okhttp之我们该如何选择网路框架][14]
- [Volley源码分析][15]
- [Retrofit详解(上)][16]
- [Retrofit详解(下)][17]
-
[Dagger2][199]
- [1.Dagger2简介(一).md][200]
- [2.Dagger2入门demo(二).md][201]
- [3.Dagger2入门demo扩展(三).md][202]
- [4.Dagger2单例(四).md][203]
- [5.Dagger2Lay和Provider(五).md][204]
- [6.Dagger2Android示例代码(六).md][205]
- [7.Dagger2之dagger-android(七).md][206]
- [8.Dagger2与MVP(八).md][207]
- [9.Dagger2原理分析(九).md][212]
-
[音视频开发][44]
- [搭建nginx+rtmp服务器][18]
- [视频播放相关内容总结][19]
- [Android音视频开发][21]
- [Android WebRTC简介][22]
- [DLNA简介][24]
- [AudioTrack简介][214]
- [播放器性能优化][230]
- [MediaExtractor、MediaCodec、MediaMuxer][245]
- [SurfaceView与TextureView][226]
- [视频解码之软解与硬解][20]
- [音视频同步原理][326]
- [音视频场景][327]
- [1.音视频基础知识][328]
- [2.系统播放器MediaPlayer][329]
- [11.播放器组件封装][330]
- [MediaMetadataRetriever][344]
- [DNS及HTTPDNS][23]
- [流媒体协议][224]
- [流媒体协议][246]
- [HLS][247]
- [DASH][248]
- [HTTP FLV][249]
- [RTMP][250]
- [ExoPlayer][216]
- [1. ExoPlayer简介.md][217]
- [2. ExoPlayer MediaSource简介][218]
- [3. ExoPlayer源码分析之prepare方法][219]
- [4. ExoPlayer源码分析之prepare序列图][220]
- [5. ExoPlayer源码分析之PlayerView][221]
- [视频封装格式][225]
- [MP4格式详解][251]
- [FLV][252]
- [TS][253]
- [fMP4 vs ts][254]
- [fMP4格式详解][255]
- [视频封装格式][256]
- [M3U8][321]
- [AVI][341]
- [视频编码][257]
- [视频编码原理][331]
- [AV1][258]
- [H264][259]
- [H265][260]
- [音频编码][335]
- [音频编码格式][336]
- [AAC][337]
- [PCM][338]
- [WAV][339]
- [关键帧][227]
- [CDN及PCDN][228]
- [P2P技术][229]
- [P2P][261]
- [P2P原理_NAT穿透][262]
- [OpenGL][231]
- [1.OpenGL简介][232]
- [2.GLSurfaceView简介][233]
- [3.GLSurfaceView源码解析][234]
- [4.GLTextureView实现][235]
- [5.OpenGL ES绘制三角形][236]
- [6.OpenGL ES绘制矩形及圆形][237]
- [7.OpenGL ES着色器语言GLSL][238]
- [8.GLES类及Matrix类][239]
- [9.OpenGL ES纹理][240]
- [10.GLSurfaceView+MediaPlayer播放视频][241]
- [11.OpenGL ES滤镜][242]
- [12.FBO][332]
- [13.LUT滤镜][346]
- [14.实例化][347]
- [弹幕][243]
- [Android弹幕实现][244]
- [FFmpeg][322]
- [1.FFmpeg简介][323]
- [2.FFmpeg常用命令行][324]
- [3.FFmpeg切片][325]
- [4.开发环境配置][333]
- [5. FFmpeg核心功能][334]
- [6.视频播放简介][340]
- [OpenCV][342]
- [1.OpenCV简介][343]
-
[操作系统][263]
- [1.操作系统简介][264]
- [2.进程与线程][265]
- [3.内存管理][266]
- [4.调度][267]
- [5.I/O][268]
- [6.文件管理][269]
- [7.嵌入式系统][270]
- [8.虚拟机][271]
- [Android内核][274]
- [1.Android进程间通信][275]
- [2.Android线程间通信之Handler消息机制][276]
- [3.Android Framework框架][277]
- [4.ActivityManagerService简介][278]
- [5.Android消息获取][279]
- [6.屏幕绘制基础][280]
- [7.View绘制原理][281]
- [8.WindowManagerService简介][282]
- [9.PackageManagerService简介][283]
- [Android内核][274]
-
[架构设计][272]
- [1.架构简介][273]
-
[Jetpack][287]
- [Jetpack简介][288]
- [architecture][289]
- [1.简介][293]
- [2.ViewBinding简介][294]
- [3.Lifecycle简介][295]
- [4.ViewModel简介][296]
- [5.LiveData简介][297]
- [6.DataBinding简介][298]
- [7.Room简介][299]
- [8.PagingLibrary简介][300]
- [9.App Startup简介][301]
- [10.DataStore简介][302]
- [11.Hilt简介][303]
- [12.Navigation简介][304]
- [13.Jetpack MVVM简介][305]
- [14.findViewById的过去及未来][306]
- [ui][290]
- [Jetpack Compose简介][307]
- [material][308]
- [1.MaterialToolbar简介][309]
- [2.NavigationView简介][310]
- [3.NestedScrollView简介][311]
- [4.CoordinatorLayout简介][312]
- [5.AppBarLayout简介][313]
- [6.CollapsingToolbarLayout简介][314]
- [7.Snackbar简介][315]
- [8.TabLayout简介][316]
- [foundation][291]
- [1.简介][317]
- [behavior][292]
- [1.简介][318]
-
[图片加载][45]
- [Glide简介(上)][25]
- [Glide简介(下)][26]
- [图片加载库比较][27]
- [Coil简介][320]
-
[RxJava][46]
- [RxJava详解(一)][28]
- [RxJava详解(二)][29]
- [RxJava详解(三)][30]
- [RxJava详解之执行原理(四)][209]
- [RxJava详解之操作符执行原理(五)][210]
- [RxJava详解之线程调度原理(六)][211]
- [RxJava系列全家桶][31]
-
[开发工具][47]
- [目前流行的开发组合][32]
- [性能优化相关工具][33]
- [Android开发工具及类库][34]
- [Github个人主页绑定域名][35]
- [Markdown学习手册][36]
- [MAT内存分析][37]
- [调试平台Sonar][213]
- [Icon制作][223]
-
[Kotlin学习][48]
- [1.Kotlin_简介&变量&类&接口][180]
- [2.Kotlin_高阶函数&Lambda&内联函数][181]
- [3.Kotlin_数字&字符串&数组&集合][182]
- [4.Kotlin_表达式&关键字][183]
- [5.Kotlin_内部类&密封类&枚举&委托][184]
- [6.Kotlin_多继承问题][185]
- [7.Kotlin_注解&反射&扩展][186]
- [8.Kotlin_协程][187]
- [9.Kotlin_androidktx][188]
- [10.Kotlin_设计模式][197]
-
[Gradle&Maven][49]
- [Gradle专题][39]
- [发布library到Maven仓库][40]
- [Composing builds简介][319]
-
[应用发布][50]
- [使用Jenkins实现自动化打包][198]
- [Android应用发布][41]
- [Zipalign优化][42]
-
[Android Studio使用教程][51]
- [AndroidStudio使用教程(第一弹)][55]
- [AndroidStudio使用教程(第二弹)][56]
- [AndroidStudio使用教程(第三弹)][57]
- [AndroidStudio使用教程(第四弹)][58]
- [AndroidStudio使用教程(第五弹)][59]
- [AndroidStudio使用教程(第六弹)][60]
- [AndroidStudio使用教程(第七弹)][61]
- [Android Studio你可能不知道的操作][62]
- [AndroidStudio提高Build速度][63]
- [AndroidStudio中进行ndk开发][64]
-
[进阶部分][52]
- [布局优化][65]
- [屏幕适配之百分比方案详解][66]
- [热修复实现][67]
- [如何让Service常驻内存][68]
- [通过Hardware Layer提高动画性能][69]
- [性能优化][70]
- [注解使用][71]
- [Android6.0权限系统][72]
- [Android开发不申请权限来使用对应功能][73]
- [Android开发中的MVP模式详解][74]
- [Android启动模式详解][75]
- [Android卸载反馈][76]
- [ApplicationId vs PackageName][77]
- [AndroidRuntime_ART与Dalvik][78]
- [BroadcastReceiver安全问题][79]
- [Crash及ANR分析][80]
- [Library项目中资源id使用case时报错][81]
- [Mac下配置adb及Android命令][82]
- [RecyclerView专题][84]
- [ConstraintLaayout简介][194]
- [Android WorkManager][208]
- [OOM问题分析][215]
-
[Java基础及算法][53]
- [数据结构和算法][192]
- [八种排序算法][189]
- [线程池的原理][190]
- [设计模式][191]
- [动态代理][193]
- [常用命令行大全][85]
- [单例的最佳实现方式][86]
- [数据结构][87]
- [获取今后多少天后的日期][88]
- [剑指Offer(上)][89]
- [剑指Offer(下)][90]
- [强引用、软引用、弱引用、虚引用][91]
- [生产者消费者][92]
- [数据加密及解密][93]
- [死锁][94]
- [算法][95]
- [网络请求相关内容总结][96]
- [线程池的原理][97]
- [Java并发编程之原子性、可见性以及有序性][98]
- [Base64加密][99]
- [Git简介][100]
- [hashCode与equals][101]
- [HashMap实现原理分析][102]
- [Java基础面试题][103]
- [JVM垃圾回收机制][104]
- [MD5加密][105]
- [MVC与MVP及MVVM][106]
- [RMB大小写转换][107]
- [Vim使用教程][108]
- [volatile和Synchronized区别][109]
- [Http与Https的区别][195]
- [Top-K问题][196]
- [Java内存模型][285]
- [JVM架构][286]
- [python3入门][345]
-
[基础部分][54]
- [安全退出应用程序][110]
- [病毒][111]
- [超级管理员(DevicePoliceManager)][112]
- [程序的启动、卸载和分享][113]
- [代码混淆][114]
- [读取用户logcat日志][115]
- [短信广播接收者][116]
- [多线程断点下载][117]
- [黑名单挂断电话及删除电话记录][118]
- [横向ListView][119]
- [滑动切换Activity(GestureDetector)][120]
- [获取联系人][121]
- [获取手机及SD卡可用存储空间][122]
- [获取手机中所有安装的程序][123]
- [获取位置(LocationManager)][124]
- [获取应用程序缓存及一键清理][125]
- [开发中异常的处理][126]
- [开发中Log的管理][127]
- [快捷方式工具类][128]
- [来电号码归属地提示框][129]
- [来电监听及录音][130]
- [零权限上传数据][131]
- [内存泄漏][132]
- [屏幕适配][133]
- [任务管理器(ActivityManager)][134]
- [手机摇晃][135]
- [竖着的Seekbar][136]
- [数据存储][137]
- [搜索框][138]
- [锁屏以及解锁监听][139]
- [文件上传][140]
- [下拉刷新ListView][141]
- [修改系统组件样式][142]
- [音量及屏幕亮度调节][143]
- [应用安装][144]
- [应用后台唤醒后数据的刷新][145]
- [知识大杂烩][146]
- [资源文件拷贝的三种方式][147]
- [自定义背景][148]
- [自定义控件][149]
- [自定义状态栏通知][150]
- [自定义Toast][151]
- [adb logcat使用简介][152]
- [Android编码规范][153]
- [Android动画][154]
- [Android基础面试题][155]
- [Android入门介绍][156]
- [Android四大组件之ContentProvider][157]
- [Android四大组件之Service][158]
- [Ant打包][159]
- [Bitmap优化][160]
- [Fragment专题][161]
- [Home键监听][162]
- [HttpClient执行Get和Post请求][163]
- [JNI_C语言基础][164]
- [JNI基础][165]
- [ListView专题][166]
- [Parcelable及Serializable][167]
- [PopupWindow细节][168]
- [Scroller简介][169]
- [ScrollingTabs][170]
- [SDK Manager无法更新的问题][171]
- [Selector使用][172]
- [SlidingMenu][173]
- [String格式化][174]
- [TextView跑马灯效果][175]
- [WebView总结][176]
- [Widget(窗口小部件)][177]
- [Wifi状态监听][178]
- [XmlPullParser][179]
- [反编译][222]
View on GitHub85/100
Security Score
Audited on Mar 30, 2026
No findings
