{"id":13849347,"url":"https://github.com/CharonChui/AndroidNote","last_synced_at":"2025-07-12T16:31:54.557Z","repository":{"id":12410613,"uuid":"15064456","full_name":"CharonChui/AndroidNote","owner":"CharonChui","description":"Android study notes.","archived":false,"fork":false,"pushed_at":"2024-10-18T09:37:53.000Z","size":6961,"stargazers_count":3626,"open_issues_count":4,"forks_count":957,"subscribers_count":203,"default_branch":"master","last_synced_at":"2024-11-11T14:12:27.447Z","etag":null,"topics":["android","source-code","study-notes"],"latest_commit_sha":null,"homepage":"http://charon.top/AndroidNote/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CharonChui.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-12-10T01:58:04.000Z","updated_at":"2024-11-11T06:57:29.000Z","dependencies_parsed_at":"2024-07-09T17:31:58.282Z","dependency_job_id":"967029b5-c1ef-4c8b-aaf5-eef9387e76b2","html_url":"https://github.com/CharonChui/AndroidNote","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CharonChui%2FAndroidNote","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CharonChui%2FAndroidNote/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CharonChui%2FAndroidNote/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CharonChui%2FAndroidNote/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CharonChui","download_url":"https://codeload.github.com/CharonChui/AndroidNote/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225829364,"owners_count":17530663,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","source-code","study-notes"],"created_at":"2024-08-04T19:01:14.844Z","updated_at":"2024-11-22T01:30:48.831Z","avatar_url":"https://github.com/CharonChui.png","language":null,"funding_links":[],"categories":["Others","实践篇"],"sub_categories":[],"readme":"Android学习笔记  \n===\n\n![image](https://raw.githubusercontent.com/CharonChui/Pictures/master/note.jpg)\n\n\u003e 十年生死两茫茫，不思量，自难忘，华年短暂，陈辞岁月悠悠伤，        \n\u003e 满腔热血已芜荒，展未来，后生强，战战兢兢，如履薄冰心彷徨，            \n\u003e 青丝化雪、鬓角成霜，已是英雄迟暮，人生怎慷慨激昂？\n\n\n目录\n===  \n\n- [史上最适合Android开发者学习的Harmony OS Next语言教程](https://github.com/CharonChui/HarmonyOSNextStudyNote)\n\n- [源码解析][43] \n    - [自定义View详解][1]\n    - [Activity界面制过程详解][2]\n    - [Activity启动过程][3]\n    - [Android Touch事件分发详解][4]\n    - [AsyncTask详解][5]\n    - [butterknife源码详解][6]\n    - [InstantRun详解][7]\n    - [ListView源码分析][8]\n    - [VideoView源码分析][9]\n    - [View绘制过程详解][10]\n    - [LeakCanary源码分析][284]\n    - [网络部分][11]\n        - [HttpURLConnection详解][12]\n        - [HttpURLConnection与HttpClient][13]\n        - [volley-retrofit-okhttp之我们该如何选择网路框架][14]\n        - [Volley源码分析][15]\n        - [Retrofit详解(上)][16]\n        - [Retrofit详解(下)][17]\n- [Dagger2][199]        \n    - [1.Dagger2简介(一).md][200]\n    - [2.Dagger2入门demo(二).md][201]    \n    - [3.Dagger2入门demo扩展(三).md][202]\n    - [4.Dagger2单例(四).md][203]\n    - [5.Dagger2Lay和Provider(五).md][204]\n    - [6.Dagger2Android示例代码(六).md][205]\n    - [7.Dagger2之dagger-android(七).md][206]            \n    - [8.Dagger2与MVP(八).md][207]    \n    - [9.Dagger2原理分析(九).md][212]\n- [音视频开发][44]\n    - [搭建nginx+rtmp服务器][18]\n    - [视频播放相关内容总结][19]\n    - [Android音视频开发][21]\n        - [Android WebRTC简介][22]    \n        - [DLNA简介][24]\n        - [AudioTrack简介][214]\n        - [播放器性能优化][230]\n        - [MediaExtractor、MediaCodec、MediaMuxer][245]\n        - [SurfaceView与TextureView][226]\n        - [视频解码之软解与硬解][20]\n        - [音视频同步原理][326]\n        - [音视频场景][327]\n        - [1.音视频基础知识][328]\n        - [2.系统播放器MediaPlayer][329]\n        - [11.播放器组件封装][330]\n        - [MediaMetadataRetriever][344]\n    - [DNS及HTTPDNS][23]\n    - [流媒体协议][224]\n        - [流媒体协议][246]\n        - [HLS][247]\n        - [DASH][248]\n        - [HTTP FLV][249]\n        - [RTMP][250]\n    - [ExoPlayer][216]\n        - [1. ExoPlayer简介.md][217]\n        - [2. ExoPlayer MediaSource简介][218]\n        - [3. ExoPlayer源码分析之prepare方法][219]\n        - [4. ExoPlayer源码分析之prepare序列图][220]\n        - [5. ExoPlayer源码分析之PlayerView][221]\n    - [视频封装格式][225]\n        - [MP4格式详解][251]\n        - [FLV][252]\n        - [TS][253]\n        - [fMP4 vs ts][254]\n        - [fMP4格式详解][255]\n        - [视频封装格式][256]\n        - [M3U8][321]\n        - [AVI][341]\n    - [视频编码][257]\n        - [视频编码原理][331]\n        - [AV1][258]\n        - [H264][259]\n        - [H265][260]\n    - [音频编码][335]    \n        - [音频编码格式][336]\n        - [AAC][337]\n        - [PCM][338]\n        - [WAV][339]\n    - [关键帧][227]\n    - [CDN及PCDN][228]\n    - [P2P技术][229]\n        - [P2P][261]\n        - [P2P原理_NAT穿透][262]\n    - [OpenGL][231]\n        - [1.OpenGL简介][232]\n        - [2.GLSurfaceView简介][233]\n        - [3.GLSurfaceView源码解析][234]\n        - [4.GLTextureView实现][235]\n        - [5.OpenGL ES绘制三角形][236]\n        - [6.OpenGL ES绘制矩形及圆形][237]\n        - [7.OpenGL ES着色器语言GLSL][238]\n        - [8.GLES类及Matrix类][239]\n        - [9.OpenGL ES纹理][240]\n        - [10.GLSurfaceView+MediaPlayer播放视频][241]\n        - [11.OpenGL ES滤镜][242]\n        - [12.FBO][332]\n        - [13.LUT滤镜][346]\n        - [14.实例化][347]\n    - [弹幕][243]\n        - [Android弹幕实现][244]\n    - [FFmpeg][322]    \n        - [1.FFmpeg简介][323]\n        - [2.FFmpeg常用命令行][324]\n        - [3.FFmpeg切片][325]\n        - [4.开发环境配置][333]\n        - [5. FFmpeg核心功能][334]\n        - [6.视频播放简介][340]\n    - [OpenCV][342]\n        - [1.OpenCV简介][343]\n\n- [操作系统][263]\n    - [1.操作系统简介][264]\n    - [2.进程与线程][265]\n    - [3.内存管理][266]\n    - [4.调度][267]\n    - [5.I/O][268]\n    - [6.文件管理][269]\n    - [7.嵌入式系统][270]\n    - [8.虚拟机][271]\n        - [Android内核][274]\n            - [1.Android进程间通信][275]\n            - [2.Android线程间通信之Handler消息机制][276]\n            - [3.Android Framework框架][277]\n            - [4.ActivityManagerService简介][278]\n            - [5.Android消息获取][279]\n            - [6.屏幕绘制基础][280]\n            - [7.View绘制原理][281]\n            - [8.WindowManagerService简介][282]\n            - [9.PackageManagerService简介][283]\n- [架构设计][272]\n    - [1.架构简介][273]\n\n- [Jetpack][287]\n    - [Jetpack简介][288]\n    - [architecture][289]\n        - [1.简介][293]\n        - [2.ViewBinding简介][294]\n        - [3.Lifecycle简介][295]\n        - [4.ViewModel简介][296]\n        - [5.LiveData简介][297]\n        - [6.DataBinding简介][298]\n        - [7.Room简介][299]\n        - [8.PagingLibrary简介][300]\n        - [9.App Startup简介][301]\n        - [10.DataStore简介][302]\n        - [11.Hilt简介][303]\n        - [12.Navigation简介][304]\n        - [13.Jetpack MVVM简介][305]\n        - [14.findViewById的过去及未来][306]\n    - [ui][290]\n        - [Jetpack Compose简介][307]\n        - [material][308]\n            - [1.MaterialToolbar简介][309]\n            - [2.NavigationView简介][310]\n            - [3.NestedScrollView简介][311]\n            - [4.CoordinatorLayout简介][312]\n            - [5.AppBarLayout简介][313]\n            - [6.CollapsingToolbarLayout简介][314]\n            - [7.Snackbar简介][315]\n            - [8.TabLayout简介][316]\n    - [foundation][291]\n        - [1.简介][317]\n    - [behavior][292]\n        - [1.简介][318]\n\n-  [图片加载][45]\n    - [Glide简介(上)][25]\n    - [Glide简介(下)][26]\n    - [图片加载库比较][27]\n    - [Coil简介][320]\n\n\n- [RxJava][46]\n    - [RxJava详解(一)][28]\n    - [RxJava详解(二)][29]\n    - [RxJava详解(三)][30]\n    - [RxJava详解之执行原理(四)][209]\n    - [RxJava详解之操作符执行原理(五)][210]\n    - [RxJava详解之线程调度原理(六)][211]\n    - [RxJava系列全家桶][31]\n\n- [开发工具][47]\n    - [目前流行的开发组合][32]\n    - [性能优化相关工具][33]\n    - [Android开发工具及类库][34]\n    - [Github个人主页绑定域名][35]\n    - [Markdown学习手册][36]\n    - [MAT内存分析][37]\n    - [调试平台Sonar][213]\n    - [Icon制作][223]\n\n- [Kotlin学习][48]\n    - [1.Kotlin_简介\u0026变量\u0026类\u0026接口][180]\n    - [2.Kotlin_高阶函数\u0026Lambda\u0026内联函数][181]\n    - [3.Kotlin_数字\u0026字符串\u0026数组\u0026集合][182]\n    - [4.Kotlin_表达式\u0026关键字][183]\n    - [5.Kotlin_内部类\u0026密封类\u0026枚举\u0026委托][184]\n    - [6.Kotlin_多继承问题][185]\n    - [7.Kotlin_注解\u0026反射\u0026扩展][186]\n    - [8.Kotlin_协程][187]\n    - [9.Kotlin_androidktx][188]\n    - [10.Kotlin_设计模式][197]\n\n\n\n- [Gradle\u0026Maven][49]\n    - [Gradle专题][39]\n    - [发布library到Maven仓库][40]\n    - [Composing builds简介][319]\n\n- [应用发布][50]\n    - [使用Jenkins实现自动化打包][198]\n    - [Android应用发布][41]\n    - [Zipalign优化][42]\n\n- [Android Studio使用教程][51]\n    - [AndroidStudio使用教程(第一弹)][55]\n    - [AndroidStudio使用教程(第二弹)][56]    \n    - [AndroidStudio使用教程(第三弹)][57]\n    - [AndroidStudio使用教程(第四弹)][58]\n    - [AndroidStudio使用教程(第五弹)][59]\n    - [AndroidStudio使用教程(第六弹)][60]\n    - [AndroidStudio使用教程(第七弹)][61]   \n    - [Android Studio你可能不知道的操作][62]\n    - [AndroidStudio提高Build速度][63]\n    - [AndroidStudio中进行ndk开发][64]\n\n- [进阶部分][52]  \n    - [布局优化][65]\n    - [屏幕适配之百分比方案详解][66]\n    - [热修复实现][67]\n    - [如何让Service常驻内存][68]\n    - [通过Hardware Layer提高动画性能][69]\n    - [性能优化][70]\n    - [注解使用][71]\n    - [Android6.0权限系统][72]\n    - [Android开发不申请权限来使用对应功能][73]\n    - [Android开发中的MVP模式详解][74]\n    - [Android启动模式详解][75]\n    - [Android卸载反馈][76]\n    - [ApplicationId vs PackageName][77]\n    - [AndroidRuntime_ART与Dalvik][78]\n    - [BroadcastReceiver安全问题][79]\n    - [Crash及ANR分析][80]\n    - [Library项目中资源id使用case时报错][81]\n    - [Mac下配置adb及Android命令][82]\n    - [RecyclerView专题][84]\n    - [ConstraintLaayout简介][194]\n    - [Android WorkManager][208]\n    - [OOM问题分析][215]\n\n- [Java基础及算法][53]\n    - [数据结构和算法][192]\n\t- [八种排序算法][189]\n\t- [线程池的原理][190]\n\t- [设计模式][191]\n    - [动态代理][193]\n    - [常用命令行大全][85]\n    - [单例的最佳实现方式][86]\n    - [数据结构][87]\n    - [获取今后多少天后的日期][88]\n    - [剑指Offer(上)][89]\n    - [剑指Offer(下)][90]\n    - [强引用、软引用、弱引用、虚引用][91]\n    - [生产者消费者][92]\n    - [数据加密及解密][93]\n    - [死锁][94]\n    - [算法][95]\n    - [网络请求相关内容总结][96]\n    - [线程池的原理][97]\n    - [Java并发编程之原子性、可见性以及有序性][98]\n    - [Base64加密][99]\n    - [Git简介][100]\n    - [hashCode与equals][101]\n    - [HashMap实现原理分析][102]\n    - [Java基础面试题][103]\n    - [JVM垃圾回收机制][104]\n    - [MD5加密][105]\n    - [MVC与MVP及MVVM][106]\n    - [RMB大小写转换][107]\n    - [Vim使用教程][108]\n    - [volatile和Synchronized区别][109]\n    - [Http与Https的区别][195]\n    - [Top-K问题][196]\n    - [Java内存模型][285]\n    - [JVM架构][286]\n    - [python3入门][345]\n- [基础部分][54] \n    - [安全退出应用程序][110]\n    - [病毒][111]\n    - [超级管理员(DevicePoliceManager)][112]\n    - [程序的启动、卸载和分享][113]\n    - [代码混淆][114]\n    - [读取用户logcat日志][115]\n    - [短信广播接收者][116]\n    - [多线程断点下载][117]\n    - [黑名单挂断电话及删除电话记录][118]\n    - [横向ListView][119]\n    - [滑动切换Activity(GestureDetector)][120]\n    - [获取联系人][121]\n    - [获取手机及SD卡可用存储空间][122]\n    - [获取手机中所有安装的程序][123]\n    - [获取位置(LocationManager)][124]\n    - [获取应用程序缓存及一键清理][125]\n    - [开发中异常的处理][126]\n    - [开发中Log的管理][127]\n    - [快捷方式工具类][128]\n    - [来电号码归属地提示框][129]\n    - [来电监听及录音][130]\n    - [零权限上传数据][131]\n    - [内存泄漏][132]\n    - [屏幕适配][133]\n    - [任务管理器(ActivityManager)][134]\n    - [手机摇晃][135]\n    - [竖着的Seekbar][136]\n    - [数据存储][137]\n    - [搜索框][138]\n    - [锁屏以及解锁监听][139]\n    - [文件上传][140]\n    - [下拉刷新ListView][141]\n    - [修改系统组件样式][142]\n    - [音量及屏幕亮度调节][143]\n    - [应用安装][144]\n    - [应用后台唤醒后数据的刷新][145]\n    - [知识大杂烩][146]\n    - [资源文件拷贝的三种方式][147]\n    - [自定义背景][148]\n    - [自定义控件][149]\n    - [自定义状态栏通知][150]\n    - [自定义Toast][151]\n    - [adb logcat使用简介][152]\n    - [Android编码规范][153]\n    - [Android动画][154]\n    - [Android基础面试题][155]\n    - [Android入门介绍][156]\n    - [Android四大组件之ContentProvider][157]\n    - [Android四大组件之Service][158]\n    - [Ant打包][159]\n    - [Bitmap优化][160]\n    - [Fragment专题][161]\n    - [Home键监听][162]\n    - [HttpClient执行Get和Post请求][163]\n    - [JNI_C语言基础][164]\n    - [JNI基础][165]\n    - [ListView专题][166]\n    - [Parcelable及Serializable][167]\n    - [PopupWindow细节][168]\n    - [Scroller简介][169]\n    - [ScrollingTabs][170]\n    - [SDK Manager无法更新的问题][171]\n    - [Selector使用][172]\n    - [SlidingMenu][173]\n    - [String格式化][174]\n    - [TextView跑马灯效果][175]\n    - [WebView总结][176]\n    - [Widget(窗口小部件)][177]\n    - [Wifi状态监听][178]\n    - [XmlPullParser][179]\n    - [反编译][222]\n    \n\n[1]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/%E8%87%AA%E5%AE%9A%E4%B9%89View%E8%AF%A6%E8%A7%A3.md        \"自定义View详解\"\n[2]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/Activity%E7%95%8C%E9%9D%A2%E7%BB%98%E5%88%B6%E8%BF%87%E7%A8%8B%E8%AF%A6%E8%A7%A3.md  \"Activity界面绘制过程详解\"\n[3]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/Activity%E5%90%AF%E5%8A%A8%E8%BF%87%E7%A8%8B.md    \"Activity启动过程\"\n[4]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/Android%20Touch%E4%BA%8B%E4%BB%B6%E5%88%86%E5%8F%91%E8%AF%A6%E8%A7%A3.md    \"Android Touch事件分发详解\"\n[5]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/AsyncTask%E8%AF%A6%E8%A7%A3.md   \"AsyncTask详解\"\n[6]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/butterknife%E6%BA%90%E7%A0%81%E8%AF%A6%E8%A7%A3.md   \"butterknife源码详解\"\n[7]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/InstantRun%E8%AF%A6%E8%A7%A3.md   \"InstantRun详解\"\n[8]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/ListView源码分析.md   \"ListView源码分析\"\n[9]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/VideoView%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90.md   \"VideoView源码分析\"\n[10]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/View%E7%BB%98%E5%88%B6%E8%BF%87%E7%A8%8B%E8%AF%A6%E8%A7%A3.md   \"View绘制过程详解\"\n[11]: https://github.com/CharonChui/AndroidNote/tree/master/SourceAnalysis/Netowork   \"网络部分\"\n[12]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/Netowork/HttpURLConnection%E8%AF%A6%E8%A7%A3.md   \"HttpURLConnection详解\"\n[13]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/Netowork/HttpURLConnection%E4%B8%8EHttpClient.md   \"HttpURLConnection与HttpClient\"\n[14]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/Netowork/volley-retrofit-okhttp%E4%B9%8B%E6%88%91%E4%BB%AC%E8%AF%A5%E5%A6%82%E4%BD%95%E9%80%89%E6%8B%A9%E7%BD%91%E8%B7%AF%E6%A1%86%E6%9E%B6.md   \"volley-retrofit-okhttp之我们该如何选择网路框架\"\n[15]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/Netowork/Volley%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90.md   \"Volley源码分析\"\n[16]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/Netowork/Retrofit%E8%AF%A6%E8%A7%A3(%E4%B8%8A).md   \"Retrofit详解(上)\"\n[17]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/Netowork/Retrofit%E8%AF%A6%E8%A7%A3(%E4%B8%8B).md   \"Retrofit详解(下)\"\n[18]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E6%90%AD%E5%BB%BAnginx%2Brtmp%E6%9C%8D%E5%8A%A1%E5%99%A8.md   \"搭建nginx+rtmp服务器\"\n[19]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E8%A7%86%E9%A2%91%E6%92%AD%E6%94%BE%E7%9B%B8%E5%85%B3%E5%86%85%E5%AE%B9%E6%80%BB%E7%BB%93.md   \"视频播放相关内容总结\"\n[20]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/Android%E9%9F%B3%E8%A7%86%E9%A2%91%E5%BC%80%E5%8F%91/%E8%A7%86%E9%A2%91%E8%A7%A3%E7%A0%81%E4%B9%8B%E8%BD%AF%E8%A7%A3%E4%B8%8E%E7%A1%AC%E8%A7%A3.md   \"视频解码之软解与硬解\"\n[21]: https://github.com/CharonChui/AndroidNote/tree/master/VideoDevelopment/Android%E9%9F%B3%E8%A7%86%E9%A2%91%E5%BC%80%E5%8F%91   \"Android音视频开发\"\n[22]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/Android%E9%9F%B3%E8%A7%86%E9%A2%91%E5%BC%80%E5%8F%91/Android%20WebRTC%E7%AE%80%E4%BB%8B.md   \"Android WebRTC简介\"\n[23]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/DNS%E5%8F%8AHTTPDNS.md   \"DNS及HTTPDNS\"\n[24]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/Android%E9%9F%B3%E8%A7%86%E9%A2%91%E5%BC%80%E5%8F%91/DLNA%E7%AE%80%E4%BB%8B.md   \"DLNA简介\"\n[25]: https://github.com/CharonChui/AndroidNote/blob/master/ImageLoaderLibrary/Glide%E7%AE%80%E4%BB%8B(%E4%B8%8A).md   \"Glide简介(上)\"\n[26]: https://github.com/CharonChui/AndroidNote/blob/master/ImageLoaderLibrary/Glide%E7%AE%80%E4%BB%8B(%E4%B8%8B).md   \"Glide简介(下)\"\n[27]: https://github.com/CharonChui/AndroidNote/blob/master/ImageLoaderLibrary/%E5%9B%BE%E7%89%87%E5%8A%A0%E8%BD%BD%E5%BA%93%E6%AF%94%E8%BE%83.md   \"图片加载库比较\"\n[28]: https://github.com/CharonChui/AndroidNote/blob/master/RxJavaPart/1.RxJava%E8%AF%A6%E8%A7%A3(%E4%B8%80).md   \"RxJava详解(一)\"\n[29]: https://github.com/CharonChui/AndroidNote/blob/master/RxJavaPart/2.RxJava%E8%AF%A6%E8%A7%A3(%E4%BA%8C).md   \"RxJava详解(二)\"\n[30]: https://github.com/CharonChui/AndroidNote/blob/master/RxJavaPart/3.RxJava%E8%AF%A6%E8%A7%A3(%E4%B8%89).md   \"RxJava详解(三)\"\n[31]: https://github.com/CharonChui/AndroidNote/blob/master/RxJavaPart/7.RxJava%E7%B3%BB%E5%88%97%E5%85%A8%E5%AE%B6%E6%A1%B6.md   \"RxJava系列全家桶\"\n[32]: https://github.com/CharonChui/AndroidNote/blob/master/Tools%26Library/%E7%9B%AE%E5%89%8D%E6%B5%81%E8%A1%8C%E7%9A%84%E5%BC%80%E5%8F%91%E7%BB%84%E5%90%88.md   \"目前流行的开发组合\"\n[33]: https://github.com/CharonChui/AndroidNote/blob/master/Tools%26Library/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96%E7%9B%B8%E5%85%B3%E5%B7%A5%E5%85%B7.md   \"性能优化相关工具\"\n[34]: https://github.com/CharonChui/AndroidNote/blob/master/Tools%26Library/Android%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7%E5%8F%8A%E7%B1%BB%E5%BA%93.md   \"Android开发工具及类库\"\n[35]: https://github.com/CharonChui/AndroidNote/blob/master/Tools%26Library/Github%E4%B8%AA%E4%BA%BA%E4%B8%BB%E9%A1%B5%E7%BB%91%E5%AE%9A%E5%9F%9F%E5%90%8D.md   \"Github个人主页绑定域名\"\n[36]: https://github.com/CharonChui/AndroidNote/blob/master/Tools%26Library/Markdown%E5%AD%A6%E4%B9%A0%E6%89%8B%E5%86%8C.md   \"Markdown学习手册\"\n[37]: https://github.com/CharonChui/AndroidNote/blob/master/Tools%26Library/MAT%E5%86%85%E5%AD%98%E5%88%86%E6%9E%90.md   \"MAT内存分析\"\n[38]: https://github.com/CharonChui/AndroidNote/blob/master/KotlinCourse/Kotlin%E5%AD%A6%E4%B9%A0%E6%95%99%E7%A8%8B(%E4%B8%80).md   \"Kotlin学习教程(一)(未完)\"\n[39]: https://github.com/CharonChui/AndroidNote/blob/master/Gradle%26Maven/Gradle%E4%B8%93%E9%A2%98.md   \"Gradle专题\"\n[40]: https://github.com/CharonChui/AndroidNote/blob/master/Gradle%26Maven/%E5%8F%91%E5%B8%83library%E5%88%B0Maven%E4%BB%93%E5%BA%93.md   \"发布library到Maven仓库\"\n[41]: https://github.com/CharonChui/AndroidNote/blob/master/AppPublish/Android%E5%BA%94%E7%94%A8%E5%8F%91%E5%B8%83.md   \"Android应用发布\"\n[42]: https://github.com/CharonChui/AndroidNote/blob/master/AppPublish/Zipalign%E4%BC%98%E5%8C%96.md   \"Zipalign优化\"\n[43]: https://github.com/CharonChui/AndroidNote/tree/master/SourceAnalysis   \"源码解析\"\n[44]: https://github.com/CharonChui/AndroidNote/tree/master/VideoDevelopment   \"音视频开发\"\n[45]: https://github.com/CharonChui/AndroidNote/tree/master/ImageLoaderLibrary   \"图片加载\"\n[46]: https://github.com/CharonChui/AndroidNote/tree/master/RxJavaPart   \"RxJava\"\n[47]: https://github.com/CharonChui/AndroidNote/tree/master/Tools%26Library   \"开发工具\"\n[48]: https://github.com/CharonChui/AndroidNote/tree/master/KotlinCourse   \"Kotlin学习\"\n[49]: https://github.com/CharonChui/AndroidNote/tree/master/Gradle%26Maven   \"Gradle\u0026Maven\"\n[50]: https://github.com/CharonChui/AndroidNote/tree/master/AppPublish   \"应用发布\"\n[51]: https://github.com/CharonChui/AndroidNote/tree/master/AndroidStudioCourse   \"Android Studio使用教程\"\n[52]: https://github.com/CharonChui/AndroidNote/tree/master/AdavancedPart   \"进阶部分\"\n[53]: https://github.com/CharonChui/AndroidNote/tree/master/JavaKnowledge   \"Java基础及算法\"\n[54]: https://github.com/CharonChui/AndroidNote/tree/master/BasicKnowledge   \"基础部分\"\n[55]: https://github.com/CharonChui/AndroidNote/blob/master/AndroidStudioCourse/AndroidStudio%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B(%E7%AC%AC%E4%B8%80%E5%BC%B9).md   \"AndroidStudio使用教程(第一弹)\"\n[56]: https://github.com/CharonChui/AndroidNote/blob/master/AndroidStudioCourse/AndroidStudio%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B(%E7%AC%AC%E4%BA%8C%E5%BC%B9).md   \"AndroidStudio使用教程(第二弹)\"\n[57]: https://github.com/CharonChui/AndroidNote/blob/master/AndroidStudioCourse/AndroidStudio%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B(%E7%AC%AC%E4%B8%89%E5%BC%B9).md   \"AndroidStudio使用教程(第三弹)\"\n[58]: https://github.com/CharonChui/AndroidNote/blob/master/AndroidStudioCourse/AndroidStudio%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B(%E7%AC%AC%E5%9B%9B%E5%BC%B9).md   \"AndroidStudio使用教程(第四弹)\"\n[59]: https://github.com/CharonChui/AndroidNote/blob/master/AndroidStudioCourse/AndroidStudio%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B(%E7%AC%AC%E4%BA%94%E5%BC%B9).md   \"AndroidStudio使用教程(第五弹)\"\n[60]: https://github.com/CharonChui/AndroidNote/blob/master/AndroidStudioCourse/AndroidStudio%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B(%E7%AC%AC%E5%85%AD%E5%BC%B9).md   \"AndroidStudio使用教程(第六弹)\"\n[61]: https://github.com/CharonChui/AndroidNote/blob/master/AndroidStudioCourse/AndroidStudio%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B(%E7%AC%AC%E4%B8%83%E5%BC%B9).md   \"AndroidStudio使用教程(第七弹)\"\n[62]: https://github.com/CharonChui/AndroidNote/blob/master/AndroidStudioCourse/Android%20Studio%E4%BD%A0%E5%8F%AF%E8%83%BD%E4%B8%8D%E7%9F%A5%E9%81%93%E7%9A%84%E6%93%8D%E4%BD%9C.md   \"Android Studio你可能不知道的操作\"\n[63]: https://github.com/CharonChui/AndroidNote/blob/master/AndroidStudioCourse/AndroidStudio%E6%8F%90%E9%AB%98Build%E9%80%9F%E5%BA%A6.md   \"AndroidStudio提高Build速度\"\n[64]: https://github.com/CharonChui/AndroidNote/blob/master/AndroidStudioCourse/AndroidStudio%E4%B8%AD%E8%BF%9B%E8%A1%8Cndk%E5%BC%80%E5%8F%91.md   \"AndroidStudio中进行ndk开发\"\n[65]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/%E5%B8%83%E5%B1%80%E4%BC%98%E5%8C%96.md   \"布局优化\"\n[66]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/%E5%B1%8F%E5%B9%95%E9%80%82%E9%85%8D%E4%B9%8B%E7%99%BE%E5%88%86%E6%AF%94%E6%96%B9%E6%A1%88%E8%AF%A6%E8%A7%A3.md   \"屏幕适配之百分比方案详解\"\n[67]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/%E7%83%AD%E4%BF%AE%E5%A4%8D%E5%AE%9E%E7%8E%B0.md   \"热修复实现\"\n[68]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/%E5%A6%82%E4%BD%95%E8%AE%A9Service%E5%B8%B8%E9%A9%BB%E5%86%85%E5%AD%98.md   \"如何让Service常驻内存\"\n[69]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/%E9%80%9A%E8%BF%87Hardware%20Layer%E6%8F%90%E9%AB%98%E5%8A%A8%E7%94%BB%E6%80%A7%E8%83%BD.md   \"通过Hardware Layer提高动画性能\"\n[70]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96.md   \"性能优化\"\n[71]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/%E6%B3%A8%E8%A7%A3%E4%BD%BF%E7%94%A8.md   \"注解使用\"\n[72]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/Android6.0%E6%9D%83%E9%99%90%E7%B3%BB%E7%BB%9F.md   \"Android6.0权限系统\"\n[73]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/Android%E5%BC%80%E5%8F%91%E4%B8%8D%E7%94%B3%E8%AF%B7%E6%9D%83%E9%99%90%E6%9D%A5%E4%BD%BF%E7%94%A8%E5%AF%B9%E5%BA%94%E5%8A%9F%E8%83%BD.md   \"Android开发不申请权限来使用对应功能\"\n[74]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/Android%E5%BC%80%E5%8F%91%E4%B8%AD%E7%9A%84MVP%E6%A8%A1%E5%BC%8F%E8%AF%A6%E8%A7%A3.md   \"Android开发中的MVP模式详解\"\n[75]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/Android%E5%90%AF%E5%8A%A8%E6%A8%A1%E5%BC%8F%E8%AF%A6%E8%A7%A3.md   \"Android启动模式详解\"\n[76]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/Android%E5%8D%B8%E8%BD%BD%E5%8F%8D%E9%A6%88.md   \"Android卸载反馈\"\n[77]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/ApplicationId%20vs%20PackageName.md   \"ApplicationId vs PackageName\"\n[78]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/AndroidRuntime_ART%E4%B8%8EDalvik.md   \"AndroidRuntime_ART与Dalvik\"\n[79]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/BroadcastReceiver%E5%AE%89%E5%85%A8%E9%97%AE%E9%A2%98.md   \"BroadcastReceiver安全问题\"\n[80]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/Crash%E5%8F%8AANR%E5%88%86%E6%9E%90.md  \"Crash及ANR分析\"\n\n[81]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/Library%E9%A1%B9%E7%9B%AE%E4%B8%AD%E8%B5%84%E6%BA%90id%E4%BD%BF%E7%94%A8case%E6%97%B6%E6%8A%A5%E9%94%99.md   \"Library项目中资源id使用case时报错\"\n[82]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/Mac%E4%B8%8B%E9%85%8D%E7%BD%AEadb%E5%8F%8AAndroid%E5%91%BD%E4%BB%A4.md   \"Mac下配置adb及Android命令\"\n[84]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/RecyclerView%E4%B8%93%E9%A2%98.md   \"RecyclerView专题\"\n[85]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%A4%A7%E5%85%A8.md   \"常用命令行大全\"\n[86]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/%E5%8D%95%E4%BE%8B%E7%9A%84%E6%9C%80%E4%BD%B3%E5%AE%9E%E7%8E%B0%E6%96%B9%E5%BC%8F.md   \"单例的最佳实现方式\"\n[87]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%92%8C%E7%AE%97%E6%B3%95/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84.md   \"数据结构\"\n[88]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/%E8%8E%B7%E5%8F%96%E4%BB%8A%E5%90%8E%E5%A4%9A%E5%B0%91%E5%A4%A9%E5%90%8E%E7%9A%84%E6%97%A5%E6%9C%9F.md   \"获取今后多少天后的日期\"\n[89]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/%E5%89%91%E6%8C%87Offer(%E4%B8%8A).md   \"剑指Offer(上)\"\n[90]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/剑指Offer(下).md   \"剑指Offer(下)\"\n[91]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/%E5%BC%BA%E5%BC%95%E7%94%A8%E3%80%81%E8%BD%AF%E5%BC%95%E7%94%A8%E3%80%81%E5%BC%B1%E5%BC%95%E7%94%A8%E3%80%81%E8%99%9A%E5%BC%95%E7%94%A8.md   \"强引用、软引用、弱引用、虚引用\"\n[92]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/%E7%94%9F%E4%BA%A7%E8%80%85%E6%B6%88%E8%B4%B9%E8%80%85.md   \"生产者消费者\"\n[93]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/%E6%95%B0%E6%8D%AE%E5%8A%A0%E5%AF%86%E5%8F%8A%E8%A7%A3%E5%AF%86.md   \"数据加密及解密\"\n[94]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/%E6%AD%BB%E9%94%81.md   \"死锁\"\n[95]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%92%8C%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95.md   \"算法\"\n[96]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/%E7%BD%91%E7%BB%9C%E8%AF%B7%E6%B1%82%E7%9B%B8%E5%85%B3%E5%86%85%E5%AE%B9%E6%80%BB%E7%BB%93.md   \"网络请求相关内容总结\"\n[97]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/%E7%BA%BF%E7%A8%8B%E6%B1%A0%E7%9A%84%E5%8E%9F%E7%90%86.md   \"线程池的原理\"\n[98]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/Java并发编程之原子性、可见性以及有序性.md  \"Java并发编程之原子性、可见性以及有序性\"\n[99]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/Base64%E5%8A%A0%E5%AF%86.md   \"Base64加密\"\n[100]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/Git%E7%AE%80%E4%BB%8B.md   \"Git简介\"\n[101]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/hashCode%E4%B8%8Eequals.md   \"hashCode与equals\"\n[102]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/HashMap%E5%AE%9E%E7%8E%B0%E5%8E%9F%E7%90%86%E5%88%86%E6%9E%90.md   \"HashMap实现原理分析\"\n[103]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/Java%E5%9F%BA%E7%A1%80%E9%9D%A2%E8%AF%95%E9%A2%98.md   \"Java基础面试题\"\n[104]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/JVM%E5%9E%83%E5%9C%BE%E5%9B%9E%E6%94%B6%E6%9C%BA%E5%88%B6.md   \"JVM垃圾回收机制\"\n[105]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/MD5%E5%8A%A0%E5%AF%86.md   \"MD5加密\"\n[106]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/MVC%E4%B8%8EMVP%E5%8F%8AMVVM.md   \"MVC与MVP及MVVM\"\n[107]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/RMB%E5%A4%A7%E5%B0%8F%E5%86%99%E8%BD%AC%E6%8D%A2.md   \"RMB大小写转换\"\n[108]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/Vim%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B.md   \"Vim使用教程\"\n[109]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/volatile%E5%92%8CSynchronized%E5%8C%BA%E5%88%AB.md   \"volatile和Synchronized区别\"\n[110]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E5%AE%89%E5%85%A8%E9%80%80%E5%87%BA%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F.md   \"安全退出应用程序\"\n[111]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E7%97%85%E6%AF%92.md   \"病毒\"\n[112]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E8%B6%85%E7%BA%A7%E7%AE%A1%E7%90%86%E5%91%98(DevicePoliceManager).md   \"超级管理员(DevicePoliceManager)\"\n[113]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E7%A8%8B%E5%BA%8F%E7%9A%84%E5%90%AF%E5%8A%A8%E3%80%81%E5%8D%B8%E8%BD%BD%E5%92%8C%E5%88%86%E4%BA%AB.md   \"程序的启动、卸载和分享\"\n[114]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E4%BB%A3%E7%A0%81%E6%B7%B7%E6%B7%86.md   \"代码混淆\"\n[115]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E8%AF%BB%E5%8F%96%E7%94%A8%E6%88%B7logcat%E6%97%A5%E5%BF%97.md   \"读取用户logcat日志\"\n[116]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E7%9F%AD%E4%BF%A1%E5%B9%BF%E6%92%AD%E6%8E%A5%E6%94%B6%E8%80%85.md   \"短信广播接收者\"\n[117]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E5%A4%9A%E7%BA%BF%E7%A8%8B%E6%96%AD%E7%82%B9%E4%B8%8B%E8%BD%BD.md   \"多线程断点下载\"\n[118]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E9%BB%91%E5%90%8D%E5%8D%95%E6%8C%82%E6%96%AD%E7%94%B5%E8%AF%9D%E5%8F%8A%E5%88%A0%E9%99%A4%E7%94%B5%E8%AF%9D%E8%AE%B0%E5%BD%95.md   \"黑名单挂断电话及删除电话记录\"\n[119]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E6%A8%AA%E5%90%91ListView.md   \"横向ListView\"\n[120]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E6%BB%91%E5%8A%A8%E5%88%87%E6%8D%A2Activity(GestureDetector).md   \"滑动切换Activity(GestureDetector)\"\n[121]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E8%8E%B7%E5%8F%96%E8%81%94%E7%B3%BB%E4%BA%BA.md   \"获取联系人\"\n[122]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E8%8E%B7%E5%8F%96%E6%89%8B%E6%9C%BA%E5%8F%8ASD%E5%8D%A1%E5%8F%AF%E7%94%A8%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4.md   \"获取手机及SD卡可用存储空间\"\n[123]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E8%8E%B7%E5%8F%96%E6%89%8B%E6%9C%BA%E4%B8%AD%E6%89%80%E6%9C%89%E5%AE%89%E8%A3%85%E7%9A%84%E7%A8%8B%E5%BA%8F.md   \"获取手机中所有安装的程序\"\n[124]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E8%8E%B7%E5%8F%96%E4%BD%8D%E7%BD%AE(LocationManager).md   \"获取位置(LocationManager)\"\n[125]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E8%8E%B7%E5%8F%96%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%BC%93%E5%AD%98%E5%8F%8A%E4%B8%80%E9%94%AE%E6%B8%85%E7%90%86.md   \"获取应用程序缓存及一键清理\"\n[126]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E5%BC%80%E5%8F%91%E4%B8%AD%E5%BC%82%E5%B8%B8%E7%9A%84%E5%A4%84%E7%90%86.md   \"开发中异常的处理\"\n[127]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E5%BC%80%E5%8F%91%E4%B8%ADLog%E7%9A%84%E7%AE%A1%E7%90%86.md   \"开发中Log的管理\"\n[128]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E5%BF%AB%E6%8D%B7%E6%96%B9%E5%BC%8F%E5%B7%A5%E5%85%B7%E7%B1%BB.md   \"快捷方式工具类\"\n[129]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E6%9D%A5%E7%94%B5%E5%8F%B7%E7%A0%81%E5%BD%92%E5%B1%9E%E5%9C%B0%E6%8F%90%E7%A4%BA%E6%A1%86.md   \"来电号码归属地提示框\"\n[130]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E6%9D%A5%E7%94%B5%E7%9B%91%E5%90%AC%E5%8F%8A%E5%BD%95%E9%9F%B3.md   \"来电监听及录音\"\n[131]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E9%9B%B6%E6%9D%83%E9%99%90%E4%B8%8A%E4%BC%A0%E6%95%B0%E6%8D%AE.md   \"零权限上传数据\"\n[132]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F.md   \"内存泄漏\"\n[133]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E5%B1%8F%E5%B9%95%E9%80%82%E9%85%8D.md   \"屏幕适配\"\n[134]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E4%BB%BB%E5%8A%A1%E7%AE%A1%E7%90%86%E5%99%A8(ActivityManager).md   \"任务管理器(ActivityManager)\"\n[135]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E6%89%8B%E6%9C%BA%E6%91%87%E6%99%83.md   \"手机摇晃\"\n[136]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E7%AB%96%E7%9D%80%E7%9A%84Seekbar.md   \"竖着的Seekbar\"\n[137]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E6%95%B0%E6%8D%AE%E5%AD%98%E5%82%A8.md   \"数据存储\"\n[138]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E6%90%9C%E7%B4%A2%E6%A1%86.md   \"搜索框\"\n[139]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E9%94%81%E5%B1%8F%E4%BB%A5%E5%8F%8A%E8%A7%A3%E9%94%81%E7%9B%91%E5%90%AC.md   \"锁屏以及解锁监听\"\n[140]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0.md   \"文件上传\"\n[141]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E4%B8%8B%E6%8B%89%E5%88%B7%E6%96%B0ListView.md   \"下拉刷新ListView\"\n[142]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E4%BF%AE%E6%94%B9%E7%B3%BB%E7%BB%9F%E7%BB%84%E4%BB%B6%E6%A0%B7%E5%BC%8F.md   \"修改系统组件样式\"\n[143]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E9%9F%B3%E9%87%8F%E5%8F%8A%E5%B1%8F%E5%B9%95%E4%BA%AE%E5%BA%A6%E8%B0%83%E8%8A%82.md   \"音量及屏幕亮度调节\"\n[144]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E5%BA%94%E7%94%A8%E5%AE%89%E8%A3%85.md   \"应用安装\"\n[145]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E5%BA%94%E7%94%A8%E5%90%8E%E5%8F%B0%E5%94%A4%E9%86%92%E5%90%8E%E6%95%B0%E6%8D%AE%E7%9A%84%E5%88%B7%E6%96%B0.md   \"应用后台唤醒后数据的刷新\"\n[146]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E7%9F%A5%E8%AF%86%E5%A4%A7%E6%9D%82%E7%83%A9.md   \"知识大杂烩\"\n[147]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E8%B5%84%E6%BA%90%E6%96%87%E4%BB%B6%E6%8B%B7%E8%B4%9D%E7%9A%84%E4%B8%89%E7%A7%8D%E6%96%B9%E5%BC%8F.md   \"资源文件拷贝的三种方式\"\n[148]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E8%87%AA%E5%AE%9A%E4%B9%89%E8%83%8C%E6%99%AF.md   \"自定义背景\"\n[149]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E8%87%AA%E5%AE%9A%E4%B9%89%E6%8E%A7%E4%BB%B6.md   \"自定义控件\"\n[150]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E8%87%AA%E5%AE%9A%E4%B9%89%E7%8A%B6%E6%80%81%E6%A0%8F%E9%80%9A%E7%9F%A5.md   \"自定义状态栏通知\"\n[151]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E8%87%AA%E5%AE%9A%E4%B9%89Toast.md   \"自定义Toast\"\n[152]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/adb%20logcat%E4%BD%BF%E7%94%A8%E7%AE%80%E4%BB%8B.md   \"adb logcat使用简介\"\n[153]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Android%E7%BC%96%E7%A0%81%E8%A7%84%E8%8C%83.md   \"Android编码规范\"\n[154]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Android%E5%8A%A8%E7%94%BB.md   \"Android动画\"\n[155]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Android%E5%9F%BA%E7%A1%80%E9%9D%A2%E8%AF%95%E9%A2%98.md   \"Android基础面试题\"\n[156]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Android%E5%85%A5%E9%97%A8%E4%BB%8B%E7%BB%8D.md   \"Android入门介绍\"\n[157]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Android%E5%9B%9B%E5%A4%A7%E7%BB%84%E4%BB%B6%E4%B9%8BContentProvider.md   \"Android四大组件之ContentProvider\"\n[158]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Android%E5%9B%9B%E5%A4%A7%E7%BB%84%E4%BB%B6%E4%B9%8BService.md   \"Android四大组件之Service\"\n[159]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Ant%E6%89%93%E5%8C%85.md   \"Ant打包\"\n[160]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Bitmap%E4%BC%98%E5%8C%96.md   \"Bitmap优化\"\n[161]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Fragment%E4%B8%93%E9%A2%98.md   \"Fragment专题\"\n[162]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Home%E9%94%AE%E7%9B%91%E5%90%AC.md   \"Home键监听\"\n[163]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/HttpClient%E6%89%A7%E8%A1%8CGet%E5%92%8CPost%E8%AF%B7%E6%B1%82.md   \"HttpClient执行Get和Post请求\"\n[164]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/JNI_C%E8%AF%AD%E8%A8%80%E5%9F%BA%E7%A1%80.md   \"JNI_C语言基础\"\n[165]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/JNI%E5%9F%BA%E7%A1%80.md   \"JNI基础\"\n[166]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/ListView%E4%B8%93%E9%A2%98.md   \"ListView专题\"\n[167]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Parcelable%E5%8F%8ASerializable.md   \"Parcelable及Serializable\"\n[168]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/PopupWindow%E7%BB%86%E8%8A%82.md   \"PopupWindow细节\"\n[169]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Scroller%E7%AE%80%E4%BB%8B.md   \"Scroller简介\"\n[170]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/ScrollingTabs.md   \"ScrollingTabs\"\n[171]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/SDK%20Manager%E6%97%A0%E6%B3%95%E6%9B%B4%E6%96%B0%E7%9A%84%E9%97%AE%E9%A2%98.md   \"SDK Manager无法更新的问题\"\n[172]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Selector%E4%BD%BF%E7%94%A8.md   \"Selector使用\"\n[173]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/SlidingMenu.md   \"SlidingMenu\"\n[174]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/String%E6%A0%BC%E5%BC%8F%E5%8C%96.md   \"String格式化\"\n[175]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/TextView%E8%B7%91%E9%A9%AC%E7%81%AF%E6%95%88%E6%9E%9C.md   \"TextView跑马灯效果\"\n[176]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/WebView%E6%80%BB%E7%BB%93.md   \"WebView总结\"\n[177]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Widget(%E7%AA%97%E5%8F%A3%E5%B0%8F%E9%83%A8%E4%BB%B6).md   \"Widget(窗口小部件)\"\n[178]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Wifi%E7%8A%B6%E6%80%81%E7%9B%91%E5%90%AC.md   \"Wifi状态监听\"\n[179]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/XmlPullParser.md   \"XmlPullParser\"\n\n\n[180]: https://github.com/CharonChui/AndroidNote/blob/master/KotlinCourse/1.Kotlin_%E7%AE%80%E4%BB%8B%26%E5%8F%98%E9%87%8F%26%E7%B1%BB%26%E6%8E%A5%E5%8F%A3.md \"1.Kotlin_简介\u0026变量\u0026类\u0026接口\"\n[181]: https://github.com/CharonChui/AndroidNote/blob/master/KotlinCourse/2.Kotlin_%E9%AB%98%E9%98%B6%E5%87%BD%E6%95%B0%26Lambda%26%E5%86%85%E8%81%94%E5%87%BD%E6%95%B0.md \"2.Kotlin_高阶函数\u0026Lambda\u0026内联函数.md\"\n[182]: https://github.com/CharonChui/AndroidNote/blob/master/KotlinCourse/3.Kotlin_%E6%95%B0%E5%AD%97%26%E5%AD%97%E7%AC%A6%E4%B8%B2%26%E6%95%B0%E7%BB%84%26%E9%9B%86%E5%90%88.md \"3.Kotlin_数字\u0026字符串\u0026数组\u0026集合\"\n[183]: https://github.com/CharonChui/AndroidNote/blob/master/KotlinCourse/4.Kotlin_%E8%A1%A8%E8%BE%BE%E5%BC%8F%26%E5%85%B3%E9%94%AE%E5%AD%97.md \"4.Kotlin_表达式\u0026关键字\"\n[184]: https://github.com/CharonChui/AndroidNote/blob/master/KotlinCourse/5.Kotlin_%E5%86%85%E9%83%A8%E7%B1%BB%26%E5%AF%86%E5%B0%81%E7%B1%BB%26%E6%9E%9A%E4%B8%BE%26%E5%A7%94%E6%89%98.md \"5.Kotlin_内部类\u0026密封类\u0026枚举\u0026委托\"\n[185]: https://github.com/CharonChui/AndroidNote/blob/master/KotlinCourse/6.Kotlin_%E5%A4%9A%E7%BB%A7%E6%89%BF%E9%97%AE%E9%A2%98.md \"6.Kotlin_多继承问题\"\n[186]: https://github.com/CharonChui/AndroidNote/blob/master/KotlinCourse/7.Kotlin_%E6%B3%A8%E8%A7%A3%26%E5%8F%8D%E5%B0%84%26%E6%89%A9%E5%B1%95.md \"7.Kotlin_注解\u0026反射\u0026扩展\"\n[187]: https://github.com/CharonChui/AndroidNote/blob/master/KotlinCourse/8.Kotlin_%E5%8D%8F%E7%A8%8B.md \"8.Kotlin_协程\"\n[188]: https://github.com/CharonChui/AndroidNote/blob/master/KotlinCourse/9.Kotlin_androidktx.md \"9.Kotlin_androidktx\"\n[189]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/%E5%85%AB%E7%A7%8D%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95.md \"八种排序算法\"\n[190]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/%E7%BA%BF%E7%A8%8B%E6%B1%A0%E7%AE%80%E4%BB%8B.md \"线程池简介\"\n[191]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md \"设计模式\"\n[192]: https://github.com/CharonChui/AndroidNote/tree/master/JavaKnowledge/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%92%8C%E7%AE%97%E6%B3%95 \"数据结构和算法\"\n[193]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/%E5%8A%A8%E6%80%81%E4%BB%A3%E7%90%86.md \"动态代理\"\n[194]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/ConstraintLaayout%E7%AE%80%E4%BB%8B.md \"ConstraintLaayout简介\"\n[195]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/Http%E4%B8%8EHttps%E7%9A%84%E5%8C%BA%E5%88%AB.md \"Http与Https的区别\"\n[196]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/Top-K%E9%97%AE%E9%A2%98.md \"Top-K问题\"\n[197]: https://github.com/CharonChui/AndroidNote/blob/master/KotlinCourse/10.Kotlin_%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md \"10.Kotlin_设计模式\"\n[198]: https://github.com/CharonChui/AndroidNote/blob/master/AppPublish/%E4%BD%BF%E7%94%A8Jenkins%E5%AE%9E%E7%8E%B0%E8%87%AA%E5%8A%A8%E5%8C%96%E6%89%93%E5%8C%85.md \"使用Jenkins实现自动化打包\"\n[199]: https://github.com/CharonChui/AndroidNote/tree/master/Dagger2 \"Dagger2\"\n[200]: https://github.com/CharonChui/AndroidNote/blob/master/Dagger2/1.Dagger2%E7%AE%80%E4%BB%8B(%E4%B8%80).md  \"1.Dagger2简介(一).md\"\n[201]: https://github.com/CharonChui/AndroidNote/blob/master/Dagger2/2.Dagger2%E5%85%A5%E9%97%A8demo(%E4%BA%8C).md  \"2.Dagger2入门demo(二).md\"\n[202]: https://github.com/CharonChui/AndroidNote/blob/master/Dagger2/3.Dagger2%E5%85%A5%E9%97%A8demo%E6%89%A9%E5%B1%95(%E4%B8%89).md  \"3.Dagger2入门demo扩展(三).md\"\n[203]: https://github.com/CharonChui/AndroidNote/blob/master/Dagger2/4.Dagger2%E5%8D%95%E4%BE%8B(%E5%9B%9B).md  \"4.Dagger2单例(四).md\"\n[204]: https://github.com/CharonChui/AndroidNote/blob/master/Dagger2/5.Dagger2Lay%E5%92%8CProvider(%E4%BA%94).md  \"5.Dagger2Lay和Provider(五).md\"\n[205]: https://github.com/CharonChui/AndroidNote/blob/master/Dagger2/6.Dagger2Android%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A0%81(%E5%85%AD).md  \"6.Dagger2Android示例代码(六).md\"\n[206]: https://github.com/CharonChui/AndroidNote/blob/master/Dagger2/7.Dagger2%E4%B9%8Bdagger-android(%E4%B8%83).md  \"7.Dagger2之dagger-android(七).md\"\n[207]: https://github.com/CharonChui/AndroidNote/blob/master/Dagger2/8.Dagger2%E4%B8%8EMVP(%E5%85%AB).md  \"8.Dagger2与MVP(八).md\"\n[208]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/Android%20WorkManager.md  \"Android WorkManager.md\"\n\n[209]: https://github.com/CharonChui/AndroidNote/blob/master/RxJavaPart/4.RxJava%E8%AF%A6%E8%A7%A3%E4%B9%8B%E6%89%A7%E8%A1%8C%E5%8E%9F%E7%90%86(%E5%9B%9B).md  \"4.RxJava详解之执行原理(四)\"\n[210]: https://github.com/CharonChui/AndroidNote/blob/master/RxJavaPart/5.RxJava%E8%AF%A6%E8%A7%A3%E4%B9%8B%E6%93%8D%E4%BD%9C%E7%AC%A6%E6%89%A7%E8%A1%8C%E5%8E%9F%E7%90%86(%E4%BA%94).md  \"5.RxJava详解之操作符执行原理(五)\"\n[211]: https://github.com/CharonChui/AndroidNote/blob/master/RxJavaPart/6.RxJava%E8%AF%A6%E8%A7%A3%E4%B9%8B%E7%BA%BF%E7%A8%8B%E8%B0%83%E5%BA%A6%E5%8E%9F%E7%90%86(%E5%85%AD).md  \"6.RxJava详解之线程调度原理(六)\"\n[212]: https://github.com/CharonChui/AndroidNote/blob/master/Dagger2/9.Dagger2%E5%8E%9F%E7%90%86%E5%88%86%E6%9E%90(%E4%B9%9D).md \"9.Dagger2原理分析(九)\"\n[213]: https://github.com/CharonChui/AndroidNote/blob/master/Tools%26Library/%E8%B0%83%E8%AF%95%E5%B9%B3%E5%8F%B0Sonar.md \"调试平台Sonar\"\n[214]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/Android%E9%9F%B3%E8%A7%86%E9%A2%91%E5%BC%80%E5%8F%91/AudioTrack%E7%AE%80%E4%BB%8B.md   \"AudioTrack简介\"\n[215]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/OOM%E9%97%AE%E9%A2%98%E5%88%86%E6%9E%90.md  \"OOM问题分析\"\n[216]: https://github.com/CharonChui/AndroidNote/tree/master/VideoDevelopment/ExoPlayer  \"ExoPlayer\"\n[217]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/ExoPlayer/1.%20ExoPlayer%E7%AE%80%E4%BB%8B.md  \"1. ExoPlayer简介\"\n[218]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/ExoPlayer/2.%20ExoPlayer%20MediaSource%E7%AE%80%E4%BB%8B.md \"2. ExoPlayer MediaSource简介\"\n[219]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/ExoPlayer/3.%20ExoPlayer%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90%E4%B9%8Bprepare%E6%96%B9%E6%B3%95.md \"3. ExoPlayer源码分析之prepare方法\"\n[220]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/ExoPlayer/4.%20ExoPlayer%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90%E4%B9%8Bprepare%E5%BA%8F%E5%88%97%E5%9B%BE.md \"4. ExoPlayer源码分析之prepare序列图\"\n[221]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/ExoPlayer/5.%20ExoPlayer%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90%E4%B9%8BPlayerView.md \"5. ExoPlayer源码分析之PlayerView\"\n[222]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E5%8F%8D%E7%BC%96%E8%AF%91.md \"反编译\"\n[223]: https://github.com/CharonChui/AndroidNote/blob/master/Tools%26Library/Icon%E5%88%B6%E4%BD%9C.md \"Icon制作\"\n[224]: https://github.com/CharonChui/AndroidNote/tree/master/VideoDevelopment/%E6%B5%81%E5%AA%92%E4%BD%93%E5%8D%8F%E8%AE%AE \"流媒体协议\"\n[225]: https://github.com/CharonChui/AndroidNote/tree/master/VideoDevelopment/%E8%A7%86%E9%A2%91%E5%B0%81%E8%A3%85%E6%A0%BC%E5%BC%8F \"视频封装格式\"\n[226]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/Android%E9%9F%B3%E8%A7%86%E9%A2%91%E5%BC%80%E5%8F%91/SurfaceView%E4%B8%8ETextureView.md \"SurfaceView与TextureView\"\n[227]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E5%85%B3%E9%94%AE%E5%B8%A7.md \"关键帧\"\n[228]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/CDN%E5%8F%8APCDN.md \"CDN及PCDN\"\n[229]: https://github.com/CharonChui/AndroidNote/tree/master/VideoDevelopment/P2P%E6%8A%80%E6%9C%AF \"P2P\"\n[230]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/Android%E9%9F%B3%E8%A7%86%E9%A2%91%E5%BC%80%E5%8F%91/%E6%92%AD%E6%94%BE%E5%99%A8%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96.md \"播放器性能优化\"\n[231]: https://github.com/CharonChui/AndroidNote/tree/master/VideoDevelopment/OpenGL  \"OpenGL\"\n[232]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/OpenGL/1.OpenGL%E7%AE%80%E4%BB%8B.md  \"1.OpenGL简介\"\n[233]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/OpenGL/2.GLSurfaceView%E7%AE%80%E4%BB%8B.md \"2.GLSurfaceView简介\"\n[234]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/OpenGL/3.GLSurfaceView%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90.md \"3.GLSurfaceView源码解析\"\n[235]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/OpenGL/4.GLTextureView%E5%AE%9E%E7%8E%B0.md  \"4.GLTextureView实现.md\"\n[236]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/OpenGL/5.OpenGL%20ES%E7%BB%98%E5%88%B6%E4%B8%89%E8%A7%92%E5%BD%A2.md \"5.OpenGL ES绘制三角形\"\n[237]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/OpenGL/6.OpenGL%20ES%E7%BB%98%E5%88%B6%E7%9F%A9%E5%BD%A2%E5%8F%8A%E5%9C%86%E5%BD%A2.md \"6.OpenGL ES绘制矩形及圆形\"\n[238]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/OpenGL/7.OpenGL%20ES%E7%9D%80%E8%89%B2%E5%99%A8%E8%AF%AD%E8%A8%80GLSL.md \"7.OpenGL ES着色器语言GLSL\"\n[239]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/OpenGL/8.GLES%E7%B1%BB%E5%8F%8AMatrix%E7%B1%BB.md \"8.GLES类及Matrix类\"\n\n[240]:  https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/OpenGL/9.OpenGL%20ES%E7%BA%B9%E7%90%86.md \"9.OpenGL ES纹理\"\n[241]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/OpenGL/10.GLSurfaceView%2BMediaPlayer%E6%92%AD%E6%94%BE%E8%A7%86%E9%A2%91.md \" 10.GLSurfaceView+MediaPlayer播放视频\"\n[242]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/OpenGL/11.OpenGL%20ES%E6%BB%A4%E9%95%9C.md \"11.OpenGL ES滤镜\"\n[243]: https://github.com/CharonChui/AndroidNote/tree/master/VideoDevelopment/Danmaku \"弹幕\"\n[244]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/Danmaku/Android%E5%BC%B9%E5%B9%95%E5%AE%9E%E7%8E%B0.md \"Android弹幕实现\"\n[245]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/Android%E9%9F%B3%E8%A7%86%E9%A2%91%E5%BC%80%E5%8F%91/MediaExtractor%E3%80%81MediaCodec%E3%80%81MediaMuxer.md \"MediaExtractor、MediaCodec、MediaMuxer\"\n[246]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E6%B5%81%E5%AA%92%E4%BD%93%E5%8D%8F%E8%AE%AE/%E6%B5%81%E5%AA%92%E4%BD%93%E5%8D%8F%E8%AE%AE.md  \"流媒体协议\"\n[247]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E6%B5%81%E5%AA%92%E4%BD%93%E5%8D%8F%E8%AE%AE/HLS.md \"HLS\"\n[248]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E6%B5%81%E5%AA%92%E4%BD%93%E5%8D%8F%E8%AE%AE/DASH.md \"DASH\"\n[249]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E6%B5%81%E5%AA%92%E4%BD%93%E5%8D%8F%E8%AE%AE/HTTP%20FLV.md \"HTTP FLV\"\n[250]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E6%B5%81%E5%AA%92%E4%BD%93%E5%8D%8F%E8%AE%AE/RTMP.md \"RTMP\"\n[251]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E8%A7%86%E9%A2%91%E5%B0%81%E8%A3%85%E6%A0%BC%E5%BC%8F/MP4%E6%A0%BC%E5%BC%8F%E8%AF%A6%E8%A7%A3.md \"MP4格式详解\"\n[252]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E8%A7%86%E9%A2%91%E5%B0%81%E8%A3%85%E6%A0%BC%E5%BC%8F/FLV.md \"FLV\"\n[253]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E8%A7%86%E9%A2%91%E5%B0%81%E8%A3%85%E6%A0%BC%E5%BC%8F/TS.md \"TS\"\n[254]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E8%A7%86%E9%A2%91%E5%B0%81%E8%A3%85%E6%A0%BC%E5%BC%8F/fMP4%20vs%20ts.md \"fMP4 vs ts\"\n[255]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E8%A7%86%E9%A2%91%E5%B0%81%E8%A3%85%E6%A0%BC%E5%BC%8F/fMP4%E6%A0%BC%E5%BC%8F%E8%AF%A6%E8%A7%A3.md \"fMP4格式详解\"\n[256]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E8%A7%86%E9%A2%91%E5%B0%81%E8%A3%85%E6%A0%BC%E5%BC%8F/%E8%A7%86%E9%A2%91%E5%B0%81%E8%A3%85%E6%A0%BC%E5%BC%8F.md \"视频封装格式\"\n[257]: https://github.com/CharonChui/AndroidNote/tree/master/VideoDevelopment/%E8%A7%86%E9%A2%91%E7%BC%96%E7%A0%81  \"视频编码\"\n[258]:https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E8%A7%86%E9%A2%91%E7%BC%96%E7%A0%81/AV1.md   \"AV1\"\n[259]:https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E8%A7%86%E9%A2%91%E7%BC%96%E7%A0%81/H264.md  \"H264\"\n[260]:https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E8%A7%86%E9%A2%91%E7%BC%96%E7%A0%81/H265.md  \"H265\"\n[261]:  https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/P2P%E6%8A%80%E6%9C%AF/P2P.md \"P2P\"\n[262]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/P2P%E6%8A%80%E6%9C%AF/P2P%E5%8E%9F%E7%90%86_NAT%E7%A9%BF%E9%80%8F.md \"P2P原理_NAT穿透\"\n[263]: https://github.com/CharonChui/AndroidNote/tree/master/OperatingSystem \"操作系统\"\n[264]: https://github.com/CharonChui/AndroidNote/blob/master/OperatingSystem/1.%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E7%AE%80%E4%BB%8B.md \"1.操作系统简介\"\n[265]: https://github.com/CharonChui/AndroidNote/blob/master/OperatingSystem/2.%E8%BF%9B%E7%A8%8B%E4%B8%8E%E7%BA%BF%E7%A8%8B.md \"2.进程和线程\"\n[266]: https://github.com/CharonChui/AndroidNote/blob/master/OperatingSystem/3.%E5%86%85%E5%AD%98%E7%AE%A1%E7%90%86.md \"3.内存管理\"\n[267]: https://github.com/CharonChui/AndroidNote/blob/master/OperatingSystem/4.%E8%B0%83%E5%BA%A6.md \"4.调度\"\n\n[268]: https://github.com/CharonChui/AndroidNote/blob/master/OperatingSystem/5.I:O.md \"5.I/O\"\n\n[269]: https://github.com/CharonChui/AndroidNote/blob/master/OperatingSystem/6.%E6%96%87%E4%BB%B6%E7%AE%A1%E7%90%86.md \"6.文件管理\"\n[270]: https://github.com/CharonChui/AndroidNote/blob/master/OperatingSystem/7.%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%B3%BB%E7%BB%9F.md \"7.嵌入式系统\"\n[271]: https://github.com/CharonChui/AndroidNote/blob/master/OperatingSystem/8.%E8%99%9A%E6%8B%9F%E6%9C%BA.md \"8.虚拟机\"\n[272]: https://github.com/CharonChui/AndroidNote/tree/master/Architect \"架构设计\"\n[273]: https://github.com/CharonChui/AndroidNote/blob/master/Architect/1.%E6%9E%B6%E6%9E%84%E7%AE%80%E4%BB%8B.md \"1.架构简介\"\n[274]: https://github.com/CharonChui/AndroidNote/tree/master/OperatingSystem/AndroidKernal  \"Android内核\"\n[275]: https://github.com/CharonChui/AndroidNote/blob/master/OperatingSystem/AndroidKernal/1.Android%E8%BF%9B%E7%A8%8B%E9%97%B4%E9%80%9A%E4%BF%A1.md \"1.Android进程间通信\"\n[276]:  https://github.com/CharonChui/AndroidNote/blob/master/OperatingSystem/AndroidKernal/2.Android%E7%BA%BF%E7%A8%8B%E9%97%B4%E9%80%9A%E4%BF%A1%E4%B9%8BHandler%E6%B6%88%E6%81%AF%E6%9C%BA%E5%88%B6.md \"2.Android线程间通信之Handler消息机制\"\n[277]: https://github.com/CharonChui/AndroidNote/blob/master/OperatingSystem/AndroidKernal/3.Android%20Framework%E6%A1%86%E6%9E%B6.md \"3.Android Framework框架\"\n[278]: https://github.com/CharonChui/AndroidNote/blob/master/OperatingSystem/AndroidKernal/4.ActivityManagerService%E7%AE%80%E4%BB%8B.md \"4.ActivityManagerService简介\"\n[279]: https://github.com/CharonChui/AndroidNote/blob/master/OperatingSystem/AndroidKernal/5.Android%E6%B6%88%E6%81%AF%E8%8E%B7%E5%8F%96.md \"5.Android消息获取\"\n[280]: https://github.com/CharonChui/AndroidNote/blob/master/OperatingSystem/AndroidKernal/6.%E5%B1%8F%E5%B9%95%E7%BB%98%E5%88%B6%E5%9F%BA%E7%A1%80.md \"6.屏幕绘制基础\"\n[281]: https://github.com/CharonChui/AndroidNote/blob/master/OperatingSystem/AndroidKernal/7.View%E7%BB%98%E5%88%B6%E5%8E%9F%E7%90%86.md \"7.View绘制原理\"\n[282]: https://github.com/CharonChui/AndroidNote/blob/master/OperatingSystem/AndroidKernal/8.WindowManagerService%E7%AE%80%E4%BB%8B.md \"8.WindowManagerService简介\"\n\n[283]: https://github.com/CharonChui/AndroidNote/blob/master/OperatingSystem/AndroidKernal/9.PackageManagerService%E7%AE%80%E4%BB%8B.md \"9.PackageManagerService简介\"\n\n[ 284 ]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/LeakCanary%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90.md. \"LeakCanary源码分析\"\n[285]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/Java%E5%86%85%E5%AD%98%E6%A8%A1%E5%9E%8B.md \"Java内存模型\"\n[286]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/JVM%E6%9E%B6%E6%9E%84.md \"JVM架构\"\n[287]: https://github.com/CharonChui/AndroidNote/tree/master/Jetpack \"Jetpack\"\n[288]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/Jetpack%E7%AE%80%E4%BB%8B.md  \"Jetpack简介\"\n[289]: https://github.com/CharonChui/AndroidNote/tree/master/Jetpack/architecture \"architecture\"\n[290]: https://github.com/CharonChui/AndroidNote/tree/master/Jetpack/ui  \"ui\"\n[291]: https://github.com/CharonChui/AndroidNote/tree/master/Jetpack/foundation  \"foundation\"\n[292]: https://github.com/CharonChui/AndroidNote/tree/master/Jetpack/behavior \"behavior\"\n[293]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/architecture/1.%E7%AE%80%E4%BB%8B.md \"1.简介\"\n[294]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/architecture/2.ViewBinding%E7%AE%80%E4%BB%8B.md \"2.ViewBinding简介\"\n[295]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/architecture/3.Lifecycle%E7%AE%80%E4%BB%8B.md \"3.Lifecycle简介\"\n[296]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/architecture/4.ViewModel%E7%AE%80%E4%BB%8B.md \"4.ViewModel简介\"\n[297]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/architecture/5.LiveData%E7%AE%80%E4%BB%8B.md \"5.LiveData简介\"\n[298]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/architecture/6.DataBinding%E7%AE%80%E4%BB%8B.md \"6.DataBinding简介\"\n[299]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/architecture/7.Room%E7%AE%80%E4%BB%8B.md \"7.Room简介\"\n[300]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/architecture/8.PagingLibrary%E7%AE%80%E4%BB%8B.md \"8.PagingLibrary简介\"\n[301]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/architecture/9.App%20Startup%E7%AE%80%E4%BB%8B.md \"9.App Startup简介\"\n[302]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/architecture/10.DataStore%E7%AE%80%E4%BB%8B.md \"10.DataStore简介\"\n[303]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/architecture/11.Hilt%E7%AE%80%E4%BB%8B.md \"11.Hilt简介\"\n[304]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/architecture/12.Navigation%E7%AE%80%E4%BB%8B.md \"12.Navigation简介\"\n[305]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/architecture/13.Jetpack%20MVVM%E7%AE%80%E4%BB%8B.md \"13.Jetpack MVVM简介\"\n[306]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/architecture/14.findViewById%E7%9A%84%E8%BF%87%E5%8E%BB%E5%8F%8A%E6%9C%AA%E6%9D%A5.md \"14.findViewById的过去及未来\"\n[307]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/ui/Jetpack%20Compose%E7%AE%80%E4%BB%8B.md \"Jetpack Compose简介\"\n[308]: https://github.com/CharonChui/AndroidNote/tree/master/Jetpack/ui/material \"material\"\n[309]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/ui/material/1.MaterialToolbar%E7%AE%80%E4%BB%8B.md \"1.MaterialToolbar简介\"\n[310]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/ui/material/2.NavigationView%E7%AE%80%E4%BB%8B.md \"2.NavigationView简介\"\n[311]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/ui/material/3.NestedScrollView%E7%AE%80%E4%BB%8B.md \"3.NestedScrollView简介\"\n[312]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/ui/material/4.CoordinatorLayout%E7%AE%80%E4%BB%8B.md \"4.CoordinatorLayout简介\"\n[313]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/ui/material/5.AppBarLayout%E7%AE%80%E4%BB%8B.md \"5.AppBarLayout简介\"\n[314]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/ui/material/6.CollapsingToolbarLayout%E7%AE%80%E4%BB%8B.md \"6.CollapsingToolbarLayout简介\"\n[315]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/ui/material/7.Snackbar%E7%AE%80%E4%BB%8B.md \"7.Snackbar简介\"\n[316]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/ui/material/8.TabLayout%E7%AE%80%E4%BB%8B.md \"8.TabLayout简介\"\n[317]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/foundation/1.%E7%AE%80%E4%BB%8B.md \"1.简介\"\n[318]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/behavior/1.%E7%AE%80%E4%BB%8B.md \"1.简介\"\n[319]: https://github.com/CharonChui/AndroidNote/blob/master/Gradle%26Maven/Composing%20builds%E7%AE%80%E4%BB%8B.md  \"Composing builds简介\"\n[320]: https://github.com/CharonChui/AndroidNote/blob/master/ImageLoaderLibrary/Coil%E7%AE%80%E4%BB%8B.md \"Coil简介\"\n[321]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E8%A7%86%E9%A2%91%E5%B0%81%E8%A3%85%E6%A0%BC%E5%BC%8F/M3U8.md \"M3U8\"\n[322]: https://github.com/CharonChui/AndroidNote/tree/master/VideoDevelopment/FFmpeg \"FFmpeg\"\n[323]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/FFmpeg/1.FFmpeg%E7%AE%80%E4%BB%8B.md \"1.FFmpeg简介\"\n[324]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/FFmpeg/2.FFmpeg%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E8%A1%8C.md \"2.FFmpeg常用命令行\"\n[325]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/FFmpeg/3.FFmpeg%E5%88%87%E7%89%87.md \"3.FFmpeg切片\"\n[326]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/Android%E9%9F%B3%E8%A7%86%E9%A2%91%E5%BC%80%E5%8F%91/%E9%9F%B3%E8%A7%86%E9%A2%91%E5%90%8C%E6%AD%A5%E5%8E%9F%E7%90%86.md \"音视频同步原理\"\n[327]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/Android%E9%9F%B3%E8%A7%86%E9%A2%91%E5%BC%80%E5%8F%91/%E9%9F%B3%E8%A7%86%E9%A2%91%E5%9C%BA%E6%99%AF.md \"音视频场景\"\n[328]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/Android%E9%9F%B3%E8%A7%86%E9%A2%91%E5%BC%80%E5%8F%91/1.%E9%9F%B3%E8%A7%86%E9%A2%91%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86.md \"1.音视频基础知识\"\n[329]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/Android%E9%9F%B3%E8%A7%86%E9%A2%91%E5%BC%80%E5%8F%91/2.%E7%B3%BB%E7%BB%9F%E6%92%AD%E6%94%BE%E5%99%A8MediaPlayer.md \"2.系统播放器MediaPlayer\"\n[330]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/Android%E9%9F%B3%E8%A7%86%E9%A2%91%E5%BC%80%E5%8F%91/11.%E6%92%AD%E6%94%BE%E7%BB%84%E4%BB%B6%E5%B0%81%E8%A3%85.md \"11.播放器组件封装\"\n[331]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E8%A7%86%E9%A2%91%E7%BC%96%E7%A0%81/%E8%A7%86%E9%A2%91%E7%BC%96%E7%A0%81%E5%8E%9F%E7%90%86.md \"视频编码原理\"\n[332]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/OpenGL/12.FBO.md \"12.FBO\"\n[333]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/FFmpeg/4.%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.md \"4.开发环境配置\"\n[334]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/FFmpeg/5.%20FFmpeg%E6%A0%B8%E5%BF%83%E5%8A%9F%E8%83%BD.md \"5. FFmpeg核心功能\"\n[335]: https://github.com/CharonChui/AndroidNote/tree/master/VideoDevelopment/%E9%9F%B3%E9%A2%91%E7%BC%96%E7%A0%81 \"音频编码\"\n[336]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E9%9F%B3%E9%A2%91%E7%BC%96%E7%A0%81/%E9%9F%B3%E9%A2%91%E7%BC%96%E7%A0%81%E6%A0%BC%E5%BC%8F.md \"音频编码格式\"\n[337]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E9%9F%B3%E9%A2%91%E7%BC%96%E7%A0%81/AAC.md \"AAC\"\n[338]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E9%9F%B3%E9%A2%91%E7%BC%96%E7%A0%81/PCM.md \"PCM\"\n[339]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E9%9F%B3%E9%A2%91%E7%BC%96%E7%A0%81/WAV.md \"WAV\"\n[340]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/FFmpeg/6.%E8%A7%86%E9%A2%91%E6%92%AD%E6%94%BE%E7%AE%80%E4%BB%8B.md  \"6.视频播放简介\"\n[341]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E8%A7%86%E9%A2%91%E5%B0%81%E8%A3%85%E6%A0%BC%E5%BC%8F/AVI.md \"AVI\"\n[342]: https://github.com/CharonChui/AndroidNote/tree/master/VideoDevelopment/OpenCV \"OpenCV\"\n[343]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/OpenCV/1.OpenCV%E7%AE%80%E4%BB%8B.md \"1.OpenCV简介\"\n[344]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/Android%E9%9F%B3%E8%A7%86%E9%A2%91%E5%BC%80%E5%8F%91/MediaMetadataRetriever.md    \"MediaMetadataRetriever\"\n[345]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/python3%E5%85%A5%E9%97%A8.md    \"python3入门\"\n[346]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/OpenGL/13.LUT%E6%BB%A4%E9%95%9C.md  \"13.LUT滤镜\"\n[347]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/OpenGL/14.%E5%AE%9E%E4%BE%8B%E5%8C%96.md  \"14.实例化\"\n\n\nDeveloped By\n===\n\n * Charon Chui - \u003ccharon.chui@gmail.com\u003e\n\n\nLicense\n===\n\n    Copyright (C) 2013 Charon Chui \u003ccharon.chui@gmail.com\u003e\n    \n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n    \n       http://www.apache.org/licenses/LICENSE-2.0\n    \n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCharonChui%2FAndroidNote","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FCharonChui%2FAndroidNote","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCharonChui%2FAndroidNote/lists"}