VineshChauhan24 / AndroidNote

Android study notes.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Android study notes

image

Ten years of life and death are boundless, do not think about it, never forget it, the time of life is short, and the years of Chen Ci are long and painful,
Full of passion and blood has been barren, looking forward to the future, the younger generation is strong, trembling, like walking on thin ice, hesitant,
The black hair melts into snow and the temples turn into frost. It is already the twilight of a hero. How can life be impassioned?

directory

  • The most suitable Go language tutorial for Android developers in history

  • The most suitable iOS development tutorial for Android developers in history

  • [ Source Code Analysis ][43]

  • [ Detailed explanation of custom View ][1]

  • [ Detailed explanation of the drawing process of the Activity interface ][2]

  • [Activity startup process ][3]

  • [Detailed explanation of Android Touch event distribution ][4]

  • [AsyncTask detailed explanation ][5]

  • [ Detailed explanation of butterknife source code ][6]

  • [InstantRun Detailed Explanation ][7]

  • [ListView source code analysis ][8]

  • [VideoView source code analysis ][9]

  • [ Detailed explanation of View drawing process ][10]

  • LeakCanary source code analysis

  • [ Network section ][11]

  • [HttpURLConnection Detailed Explanation ][12] -[HttpURLConnection and HttpClient][13]

  • [volley-retrofit-okhttp How do we choose a network framework ][14]

  • [Volley source code analysis ][15]

  • [Retrofit Detailed Explanation ( Part 1 )][16]

  • [Retrofit Detailed Explanation ( Part 2 )][17] -[Dagger2][199]

  • [1. Introduction to Dagger2 ( 1 ).md][200]

  • [2.Dagger2 Getting Started demo ( 2 ).md][201]

  • [3.Dagger2 entry demo extension ( 3 ).md][202]

  • [4.Dagger2 single case ( four ).md][203]

  • [5.Dagger2Lay and Provider ( five ).md][204]

  • [6.Dagger2Android Sample Code ( 6 ).md][205]

  • [7.Dagger2 of dagger-android ( seven ).md][206]

  • [8.Dagger2 and MVP ( eight ).md][207]

  • [9.Dagger2 Principle Analysis ( 9 ).md][212]

  • [ Audio and video development ][44]

  • [ Build nginx+rtmp server ][18]

  • [ Summary of content related to video playback ][19]

  • [Android audio and video development ][21]

  • [ Introduction to Android WebRTC ][22]

  • [ Introduction to DLNA ][24] -[ Introduction to AudioTrack ][214]

  • [ Player Performance Optimization ][230]

  • [MediaExtractor , MediaCodec , MediaMuxer][245] -[SurfaceView and TextureView][226]

  • [ Soft solution and hard solution of video decoding ][20]

  • [ Audio and video synchronization principle ][326]

  • [ Audio and video scenes ][327]

  • [1. Basic knowledge of audio and video ][328]

  • [2. System player MediaPlayer][329]

  • [11.Player component encapsulation ][330]

  • [DNS and HTTPDNS][23]

  • [ Streaming Protocol ][224]

  • [ Streaming Protocol ][246] -[HLS][247] -[DASH][248]

  • [HTTP FLV][249]

  • [RTMP][250] -[ExoPlayer][216]

  • [1. Introduction to ExoPlayer.md][217]

  • [2. Introduction to ExoPlayer MediaSource ][218]

  • [3. The prepare method of ExoPlayer source code analysis ][219] Prepare sequence diagram of ExoPlayer source code analysis ][220]

  • [5. PlayerView of ExoPlayer source code analysis ][221]

  • [ Video Encapsulation Format ][225]

  • [MP4 Format Detailed Explanation ][251] -[FLV][252] -[TS][253]

  • [fMP4 vs ts][254]

  • [ Detailed explanation of fMP4 format ][255]

  • [ Video Encapsulation Format ][256] -[M3U8][321]

  • [ Video Encoding ][257] -[AV1][258]

  • [H264][259]

  • [H265][260]

  • [ keyframe ][227]

  • [CDN and PCDN][228]

  • [P2P Technology ][229] -[P2P][261]

  • [P2P principle_NAT penetration ][262 ] -[OpenGL][231]

  • [1. Introduction to OpenGL ][232]

  • [2. Introduction to GLSurfaceView ][233]

  • [3.GLSurfaceView source code analysis ][234]

  • [4.GLTextureView implementation ][235]

  • [5.OpenGL ES draws triangles ][236]

  • [6.OpenGL ES drawing rectangle and circle ][237]

  • [7.OpenGL ES shader language GLSL][238]

  • [8.GLES class and Matrix class ][239]

  • 9.OpenGL ES Texture

  • [10.GLSurfaceView+MediaPlayer play video ][241]

  • [11.OpenGL ES filter ][242]

  • [ Barrage ][243]

  • [Android barrage implementation ][244] -[FFmpeg][322] -[1. Introduction to FFmpeg ][323]

  • [2.FFmpeg common command line ][324]

  • [1.FFmpeg slice ][325]

  • [ OS ][263]

  • [1. Introduction to Operating System ][264]

  • [2. Process and thread ] [265]

  • [3. Memory management ][266]

  • [4. Scheduling ] [267]

  • 5.I/O

  • 6. File Management

  • [7. Embedded system ][270]

  • [8. Virtual machine ] [271]

  • [Android Kernel ][274]

  • [1.Android inter-process communication ][275]

  • [2. Handler message mechanism for communication between Android threads ][276]

  • [3.Android Framework ] [277]

  • [4. Introduction to ActivityManagerService ][278]

  • [5. Android message acquisition ][279]

  • [6. Basics of Screen Rendering ][280]

  • [7.View drawing principle ][281]

  • [8. Introduction to WindowManagerService ][282]

  • 9. Introduction to Package Manager Service

  • [ Architecture Design ][272]

  • [1. Introduction to Architecture ][273]

  • Jetpack - Introduction to Jetpack -architecture

  • [1. Introduction ] 293

  • 2. Introduction to ViewBinding

  • 3. Introduction to Lifecycle

  • 4. Introduction to ViewModel

  • 5. Introduction to LiveData

  • 6. Introduction to DataBinding

  • 7. Introduction to Room

  • [8. Introduction to PagingLibrary ] 300

  • 9. Introduction to App Startup

  • [10. Introduction to DataStore ] 302

  • 11. Introduction to Hilt

  • 12. Introduction to Navigation

  • 13. Introduction to Jetpack MVVM

  • [14. FindViewById past and future ] [306] -ui -[ Introduction to Jetpack Compose ][307]

  • [material][308]

  • [1. Introduction to Material Toolbar ][309]

  • [2. Introduction to NavigationView ][310]

  • [3. Introduction to NestedScrollView ][311]

  • [4. Introduction to CoordinatorLayout ][312]

  • [5. Introduction to AppBarLayout ][313]

  • [6. Introduction to CollapsingToolbarLayout ][314]

  • [7. Introduction to Snackbar ][315]

  • [8. Introduction to TabLayout ][316] -foundation

  • [1. Introduction ] [317] -behavior

  • [1. Introduction ] [318]

  • [ Image Loading ][45]

  • [ Introduction to Glide ( Part 1 )][25]

  • [ Introduction to Glide ( Part 2 )][26]

  • [ Image loading library comparison ][27] -[ Introduction to Coil ][320]

  • [RxJava][46]

  • [RxJava Detailed Explanation ( 1 )][28]

  • [RxJava Detailed Explanation ( 2 )][29]

  • [RxJava Detailed Explanation ( 3 )][30]

  • [RxJava Detailed Execution Principles ( 4 )][209]

  • [RxJava Detailed Operator Execution Principle ( 5 )][210]

  • [RxJava Detailed Explanation of Thread Scheduling Principles ( 6 )][211]

  • [RxJava series family bucket ][31]

  • [ Development Tools ][47]

  • [ currently popular development combinations ][32]

  • [ Performance optimization related tools ][33]

  • [Android development tools and libraries ][34]

  • [Github personal homepage binding domain name ][35]

  • [Markdown Learning Manual ][36]

  • [MAT Memory Analysis ][37]

  • [ Debugging Platform Sonar][213]

  • [Icon production ] [223]

  • [Kotlin learning ][48]

  • [1.Kotlin_Introduction & Variables & Classes & Interfaces ] [180]

  • [2.Kotlin_higher -order function & Lambda & inline function ][181]

  • [3.Kotlin_Number & String & Array & Collection ] [182]

  • [4.Kotlin_expression & keyword ] [183]

  • [5.Kotlin_ inner class & sealed class & enumeration & delegation ] [184]

  • [6.Kotlin_Multiple inheritance problem ][185]

  • [7.Kotlin_Annotation & Reflection & Extension ] [186]

  • [8.Kotlin_coroutine ] [187]

  • [9.Kotlin_androidktx][188]

  • [10.Kotlin_design mode ][197]

-[Gradle&Maven][49]

  • [Gradle topic ][39]

  • [ Publish library to Maven repository ][40]

  • [ Introduction to Composing builds ][319]

  • [ Application Publishing ][50]

  • [ Using Jenkins to automate packaging ][198]

  • [Android App Publishing ][41]

  • [Zipalign optimization ][42]

  • [Android Studio Tutorial ][51]

  • [AndroidStudio tutorial ( first bomb )][55]

  • [AndroidStudio tutorial ( second bomb )][56]

  • [AndroidStudio tutorial ( third bomb )][57]

  • [AndroidStudio tutorial ( fourth bullet )][58]

  • [AndroidStudio tutorial ( fifth bomb )][59]

  • [AndroidStudio tutorial ( sixth )][60]

  • [AndroidStudio tutorial ( seventh bomb )][61]

  • [ Operations you may not know about Android Studio ][62]

  • [AndroidStudio improves build speed ][63]

  • [ ndk development in AndroidStudio ][64]

  • [ Advanced Section ][52]

  • [ Layout Optimization ][65]

  • [ Detailed explanation of the percentage scheme of screen adaptation ][66]

  • [ Hotfix implemented ][67]

  • [ How to make Service resident in memory ][68]

  • [ Improve animation performance with Hardware Layer ][69]

  • [ Performance optimization ][70]

  • [ Annotation usage ][71]

  • [Android6.0 permission system ][72]

  • [Android development does not apply for permission to use the corresponding function ][73]

  • [ Detailed explanation of MVP mode in Android development ][74]

  • [Android startup mode detailed explanation ][75]

  • [Android Uninstall Feedback ][76]

  • [ApplicationId vs PackageName][77]

  • [AndroidRuntime_ART with Dalvik][78]

  • [BroadcastReceiver security issue ][79]

  • [Crash and ANR Analysis ][80]

  • [ An error is reported when the resource id is used in the Library project ][81]

  • [ Configure adb and Android commands under Mac ][82]

  • [RecyclerView topic ][84]

  • [ Introduction to ConstraintLayout ][194]

  • [Android WorkManager][208]

  • [OOM problem analysis ][215]

  • [Java Basics and Algorithms ][53]

  • [ Data Structures and Algorithms ][192]

    • [ Eight sorting algorithms ][189]
    • [ Principle of Thread Pool ][190]
    • [ Design Patterns ][191]
  • [ Dynamic Proxy ][193]

  • [ Common Command Line Encyclopedia ][85]

  • [ Best way to implement a singleton ][86]

  • [ Data structure ][87]

  • [ get the date after how many days in the future ][88]

  • [ Sword Pointing to Offer ( Part 1 )][89]

  • [ Sword Pointing to Offer ( Part 2 )][90]

  • [ Strong references, soft references, weak references, phantom references ][91]

  • [ producer consumer ][92]

  • [ Data encryption and decryption ][93]

  • [ Deadlock ][94]

  • [ Algorithm ][95]

  • [ Summary of content related to network requests ][96]

  • [ Principle of Thread Pool ][97]

  • [ Atomicity, Visibility and Order of Java Concurrent Programming ][98]

  • [Base64 Encryption ][99] -[ Introduction to Git ][100]

  • [hashCode and equals][101]

  • [HashMap implementation principle analysis ][102]

  • [Java Basic Interview Questions ][103]

  • [JVM Garbage Collection Mechanism ][104] -[MD5 encryption ][105]

  • [MVC and MVP and MVVM][106]

  • [RMB case conversion ][107]

  • [Vim tutorial ][108]

  • [ The difference between volatile and Synchronized ][109]

  • [ The difference between Http and Https ][195]

  • [Top-K Questions ][196]

  • Java Memory Model

  • JVM Architecture

  • [ Basic part ][54]

  • [ Safely Exit Application ][110]

  • [ Virus ][111]

  • [ Super Administrator (DevicePoliceManager)][112]

  • [ Program launch , uninstallation and sharing ][113]

  • [ Code obfuscation ][114]

  • [ read user logcat log ][115]

  • [ SMS Broadcast Receiver ][116]

  • [ Multi- threaded breakpoint download ][117]

  • [ Blacklist hang up and delete phone records ][118]

  • [ horizontal ListView][119]

  • [ Slide to switch Activity(GestureDetector)][120]

  • [ Get Contacts ][121]

  • [ Get available storage space of mobile phone and SD card ][122]

  • [ Get all installed programs in the phone ][123]

  • [ Get Location (LocationManager)][124]

  • [ Get application cache and one-click cleanup ][125]

  • [ Exception handling during development ][126]

  • [ Log management during development ][127]

  • [ Shortcut tool class ][128]

  • [ Caller number attribution prompt box ][129]

  • [ Call Monitoring and Recording ][130]

  • [ Zero permission to upload data ][131]

  • [ Memory Leak ][132]

  • [ Screen Adaptation ][133]

  • [ Task Manager (ActivityManager)][134]

  • [ phone shakes ][135]

  • [ Vertical Seekbar][136]

  • [ Data Storage ][137]

  • [ Search Box ][138]

  • [ Lock screen and unlock monitoring ][139]

  • [ File Upload ][140]

  • [ pull down to refresh ListView][141]

  • [ Modify system component styles ][142]

  • [ Volume and screen brightness adjustment ][143]

  • [ App Installation ][144]

  • [ Refresh of data after the application wakes up in the background ][145]

  • [ Knowledge Hodgepodge ][146]

  • [ Three ways to copy resource files ][147]

  • [ Custom Background ][148]

  • [ Custom controls ][149]

  • [ Custom Status Bar Notifications ][150]

  • [ Custom Toast][151]

  • [adb logcat introduction ][152 ]

  • [Android Coding Specification ][153]

  • [Android Animation ][154]

  • [Android Basic Interview Questions ][155]

  • [ Introduction to Getting Started with Android ][156]

  • [ ContentProvider of the four major components of Android ][157]

  • [ Service of the four major components of Android ][158]

  • [Ant Packaging ][159]

  • [Bitmap optimization ][160]

  • [Fragment Topic ][161]

  • [Home button monitoring ][162]

  • [HttpClient performs Get and Post requests ][163]

  • [JNI_C Language Basics ][164]

  • [JNI Basics ][165] -[ListView topic ][166]

  • [Parcelable and Serializable][167]

  • [PopupWindow Details ][168] -[ Introduction to Scroller ][169] -[Scrolling Tabs][170]

  • [SDK Manager cannot be updated ][171]

  • [Selector usage ][172] -[SlidingMenu][173]

  • [String formatting ][174]

  • [TextView marquee effect ][175]

  • [WebView Summary ][176]

  • [Widget ( window widget )][177]

  • [Wifi Status Monitor ][178] -[XmlPullParser][179]

  • [ Decompile ][222 ]

[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 " Detailed explanation of custom View " [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 "Detailed explanation of Activity interface drawing process " [3]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/Activity%E5%90%AF%E5%8A%A8%E8%BF%87%E7%A8%8B.md " Activity startup process " [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 "Detailed explanation of Android Touch event distribution " [5]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/AsyncTask%E8%AF%A6%E8%A7%A3.md " Detailed AsyncTask " [6]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/butterknife%E6%BA%90%E7%A0%81%E8%AF%A6%E8%A7%A3.md " Detailed explanation of butterknife source code " [7]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/InstantRun%E8%AF%A6%E8%A7%A3.md " Detailed explanation of InstantRun " [8]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/ListView Source Code Analysis.md "ListView Source Code Analysis " [9]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/VideoView%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90.md " VideoView source code analysis " [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 " Detailed View Drawing Process " [11]: https://github.com/CharonChui/AndroidNote/tree/master/SourceAnalysis/Netowork " Network part " [12]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/Netowork/HttpURLConnection%E8%AF%A6%E8%A7%A3.md "HttpURLConnection Detailed Explanation " [13]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/Netowork/HttpURLConnection%E4%B8%8EHttpClient.md "HttpURLConnection and HttpClient" [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 : how do we choose a network framework " [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 source code analysis " [16]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/Netowork/Retrofit%E8%AF%A6%E8%A7%A3(%E4%B8%8A).md " Detailed Retrofit ( on )" [17]: https://github.com/CharonChui/AndroidNote/blob/master/SourceAnalysis/Netowork/Retrofit%E8%AF%A6%E8%A7%A3(%E4%B8%8B).md "Retrofit Detailed Explanation ( below )" [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 " Build nginx+rtmp server " [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 "Summary of content related to video playback " [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 " Soft and hard solutions of video decoding " [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 audio and video development " [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 " Introduction to Android WebRTC " [23]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/DNS%E5%8F%8AHTTPDNS.md "DNS and HTTPDNS" [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 " Introduction to DLNA " [25]: https://github.com/CharonChui/AndroidNote/blob/master/ImageLoaderLibrary/Glide%E7%AE%80%E4%BB%8B(%E4%B8%8A).md " Introduction to Glide ( on )" Introduction to Glide ( below )" [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 " Image loading library comparison " [28]: https://github.com/CharonChui/AndroidNote/blob/master/RxJavaPart/1.RxJava%E8%AF%A6%E8%A7%A3(%E4%B8%80).md "RxJava Detailed Explanation ( 1 )" [29]: https://github.com/CharonChui/AndroidNote/blob/master/RxJavaPart/2.RxJava%E8%AF%A6%E8%A7%A3(%E4%BA%8C).md "RxJava Detailed Explanation ( two )" [30]: https://github.com/CharonChui/AndroidNote/blob/master/RxJavaPart/3.RxJava%E8%AF%A6%E8%A7%A3(%E4%B8%89).md "RxJava Detailed Explanation ( three )" [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 series family bucket " [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 " Currently popular development combinations " [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 " Performance optimization related tools " [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 development tools and libraries " [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 personal homepage binding domain name " [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 Learning Manual " [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 memory analysis " [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 learning tutorial ( 1 ) ( unfinished )" [39]: https://github.com/CharonChui/AndroidNote/blob/master/Gradle%26Maven/Gradle%E4%B8%93%E9%A2%98.md "Gradle Topics " [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 " Release library to Maven repository " [41]: https://github.com/CharonChui/AndroidNote/blob/master/AppPublish/Android%E5%BA%94%E7%94%A8%E5%8F%91%E5%B8%83.md " Android application release " [42]: https://github.com/CharonChui/AndroidNote/blob/master/AppPublish/Zipalign%E4%BC%98%E5%8C%96.md "Zipalign optimization " [43]: https://github.com/CharonChui/AndroidNote/tree/master/SourceAnalysis " Source Analysis " [44]: https://github.com/CharonChui/AndroidNote/tree/master/VideoDevelopment " Audio and Video Development " [45]: https://github.com/CharonChui/AndroidNote/tree/master/ImageLoaderLibrary " Image Loading " [46]: https://github.com/CharonChui/AndroidNote/tree/master/RxJavaPart "RxJava" [47]: https://github.com/CharonChui/AndroidNote/tree/master/Tools%26Library " Development Tools " [48]: https://github.com/CharonChui/AndroidNote/tree/master/KotlinCourse "Kotlin Learning " [49]: https://github.com/CharonChui/AndroidNote/tree/master/Gradle%26Maven "Gradle&Maven" [50]: https://github.com/CharonChui/AndroidNote/tree/master/AppPublish " App Publishing " [51]: https://github.com/CharonChui/AndroidNote/tree/master/AndroidStudioCourse "Android Studio tutorial " [52]: https://github.com/CharonChui/AndroidNote/tree/master/AdavancedPart " Advanced Part " [53]: https://github.com/CharonChui/AndroidNote/tree/master/JavaKnowledge "Java Basics and Algorithms " [54]: https://github.com/CharonChui/AndroidNote/tree/master/BasicKnowledge " Basic part " [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 Tutorial ( Part 1 )" [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 Tutorial ( Part 2 )" [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 Tutorial ( Part 3 )" [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 Tutorial ( Part 4 )" [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 Tutorial ( Volume 5 ) " [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 tutorial ( sixth bullet )" [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 Tutorial ( Part 7 ) " [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 "Operations you may not know about Android Studio " [63]: https://github.com/CharonChui/AndroidNote/blob/master/AndroidStudioCourse/AndroidStudio%E6%8F%90%E9%AB%98Build%E9%80%9F%E5%BA%A6.md " AndroidStudio improves Build speed " [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 " NDK development in AndroidStudio " [65]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/%E5%B8%83%E5%B1%80%E4%BC%98%E5%8C%96.md " Layout optimize " [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 "Screen adaptation Detailed explanation of the percentage scheme " [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 " Hotfix Implementation " [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 " How to make Service resident in memory " [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 " Improve animation performance through Hardware Layer " [70]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96.md " Performance optimize " [71]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/%E6%B3%A8%E8%A7%A3%E4%BD%BF%E7%94%A8.md " Notes use " [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 permission system " [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 development does not apply for permission to use the corresponding function " [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 " Detailed explanation of MVP mode in Android development " [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 " Detailed explanation of Android startup mode " [76]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/Android%E5%8D%B8%E8%BD%BD%E5%8F%8D%E9%A6%88.md " Android uninstall feedback " [77]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/ApplicationId%20vs%20PackageName.md "ApplicationId vs PackageName" [78]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/AndroidRuntime_ART%E4%B8%8EDalvik.md "AndroidRuntime_ART and Dalvik" [79]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/BroadcastReceiver%E5%AE%89%E5%85%A8%E9%97%AE%E9%A2%98.md " BroadcastReceiver security issue " [80]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/Crash%E5%8F%8AANR%E5%88%86%E6%9E%90.md "Crash and ANR Analysis "

[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 "An error was reported when using the resource id case in the Library project " [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 " Configure adb and Android commands under Mac " [84]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/RecyclerView%E4%B8%93%E9%A2%98.md "RecyclerView Topic " [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 " Common command lines " [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 " Best way to implement a singleton " [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 " Data Structure " [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 "Get the date after how many days in the future " [ 89] : https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/%E5%89%91%E6%8C%87Offer(%E4%B8%8A).md )" [90]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/Jianzhi Offer ( Part 2 ).md " Jianzhi Offer ( Part 2 ) " [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 " StrongReference, SoftReference , WeakReference, PhantomReference " [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 " Producer Consumer " [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 " Data encryption and decryption " [94]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/%E6%AD%BB%E9%94%81.md " Deadlock " [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 " Algorithm " [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 "Summary of content related to network requests " [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 " The Principle of Thread Pool " [98]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/Atomicity , visibility and ordering of Java concurrent programming.md "Atomicity, visibility and ordering of Java concurrent programming Orderliness " _ [99]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/Base64%E5%8A%A0%E5%AF%86.md "Base64 encryption " [100]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/Git%E7%AE%80%E4%BB%8B.md " Introduction to Git " [101]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/hashCode%E4%B8%8Eequals.md "hashCode and equals" [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 " Analysis of HashMap Implementation Principles " [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 " Basic Java Interview Questions " [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 garbage collection mechanism " [105]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/MD5%E5%8A%A0%E5%AF%86.md "MD5 encryption " [106]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/MVC%E4%B8%8EMVP%E5%8F%8AMVVM.md "MVC and MVP and MVVM" [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 case conversion " [108]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/Vim%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B.md " Vim tutorial " Difference between volatile and Synchronized " [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 " Safely Exit Application " [111]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E7%97%85%E6%AF%92.md " Virus " [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 " Super Administrator (DevicePoliceManager)" [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 "Program start, uninstall and share " [114]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E4%BB%A3%E7%A0%81%E6%B7%B7%E6%B7%86.md " Generation code obfuscation " [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 " Read user logcat log " [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 " SMS Broadcast Receiver " [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 " Multi- threaded breakpoint download " [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 " Blacklist hang up and delete phone records " [119]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E6%A8%AA%E5%90%91ListView.md " Horizontal ListView" [120]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E6%BB%91%E5%8A%A8%E5%88%87%E6%8D%A2Activity(GestureDetector). md " Slide to switch Activity(GestureDetector)" [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 " Get Contacts " [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 "Obtain a mobile phone and SD card available storage space " [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 "Obtain the mobile phone All installed programs " [124]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E8%8E%B7%E5%8F%96%E4%BD%8D%E7%BD%AE(LocationManager). md " Get Location (LocationManager)" [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 " Get application cache and one-click cleanup " [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 " Exception handling during development " [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 management during development " [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 " Shortcut Tools " [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 "Prompt box for calling number attribution " [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 " Call monitoring and recording " [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 " Zero permission upload data " [132]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F.md " Memory leak " [133]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E5%B1%8F%E5%B9%95%E9%80%82%E9%85%8D.md " screen Adapt " [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 " Task Manager (ActivityManager)" [135]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E6%89%8B%E6%9C%BA%E6%91%87%E6%99%83.md " Mobile phone shake " [136]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E7%AB%96%E7%9D%80%E7%9A%84Seekbar.md " Vertical Seekbar" [137]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E6%95%B0%E6%8D%AE%E5%AD%98%E5%82%A8.md " data storage " [138]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E6%90%9C%E7%B4%A2%E6%A1%86.md " Search Box " [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 " Lock screen and unlock monitoring " [140]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0.md " File upload " [141]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E4%B8%8B%E6%8B%89%E5%88%B7%E6%96%B0ListView.md " Drop-down Refresh ListView" [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 " Modify system component style " [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 " Volume and screen brightness adjustment " [144]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E5%BA%94%E7%94%A8%E5%AE%89%E8%A3%85.md " Application install " [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 "Application background wake up Post data refresh " [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 " Knowledge Hodgepodge " [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 "Three ways to copy resource files " [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 " Custom Background " [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 " Custom Controls " [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 " Custom Status Bar Notifications " [151]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E8%87%AA%E5%AE%9A%E4%B9%89Toast.md " Custom Toast" [152]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/adb%20logcat%E4%BD%BF%E7%94%A8%E7%AE%80%E4%BB%8B. md " Introduction to using adb logcat " [153]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Android%E7%BC%96%E7%A0%81%E8%A7%84%E8%8C%83.md " Android Coding Specification " [154]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Android%E5%8A%A8%E7%94%BB.md "Android animation " [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 Basic Interview Questions " [156]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Android%E5%85%A5%E9%97%A8%E4%BB%8B%E7%BB%8D.md " Introduction to Android " [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 " ContentProvider of the four major components of Android " [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 " Service of the four major components of Android" [159]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Ant%E6%89%93%E5%8C%85.md "Ant packaging " [160]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Bitmap%E4%BC%98%E5%8C%96.md "Bitmap Optimization " [161]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Fragment%E4%B8%93%E9%A2%98.md "Fragment topic " [162]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Home%E9%94%AE%E7%9B%91%E5%90%AC.md "Home button monitoring " [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 executes Get and Post requests " [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 Language Basics " [165]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/JNI%E5%9F%BA%E7%A1%80.md "JNI Basics " [166]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/ListView%E4%B8%93%E9%A2%98.md "ListView Topic " [167]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Parcelable%E5%8F%8ASerializable.md "Parcelable and Serializable" [168]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/PopupWindow%E7%BB%86%E8%8A%82.md "PopupWindow Details " [169]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Scroller%E7%AE%80%E4%BB%8B.md " Introduction to Scroller " [170]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/ScrollingTabs.md "ScrollingTabs" [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 "The SDK Manager cannot be updated " [172]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Selector%E4%BD%BF%E7%94%A8.md "Selector usage " [173]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/SlidingMenu.md "SlidingMenu" [174]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/String%E6%A0%BC%E5%BC%8F%E5%8C%96.md "String formatting " [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 marquee effect " [176]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/WebView%E6%80%BB%E7%BB%93.md "WebView Summary " [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 " [178]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/Wifi%E7%8A%B6%E6%80%81%E7%9B%91%E5%90%AC.md " Wifi status monitoring " [179]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/XmlPullParser.md "XmlPullParser"

[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_Introduction & Variable & Class & Interface " [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_higher-order function &Lambda& inline function.md " [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_number & string & array & collection " [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_expression & keyword " [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_InnerClass & Sealed Classes & Enumerations & Delegate " [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_Multiple inheritance problem " [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_Annotation & Reflection & Extension " [187]: https://github.com/CharonChui/AndroidNote/blob/master/KotlinCourse/8.Kotlin_%E5%8D%8F%E7%A8%8B.md " 8.Kotlin_coroutine " [188]: https://github.com/CharonChui/AndroidNote/blob/master/KotlinCourse/9.Kotlin_androidktx.md "9.Kotlin_androidktx" [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 " Eight sorting algorithms " [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 " Introduction to Thread Pool " [191]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md " Design mode " [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 " Data Structures and Algorithms " [193]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/%E5%8A%A8%E6%80%81%E4%BB%A3%E7%90%86.md " Dynamic agent " [194]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/ConstraintLaayout%E7%AE%80%E4%BB%8B.md " Introduction to ConstraintLaayout " [195]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/Http%E4%B8%8EHttps%E7%9A%84%E5%8C%BA%E5%88%AB.md " The difference between Http and Https " [196]: https://github.com/CharonChui/AndroidNote/blob/master/JavaKnowledge/Top-K%E9%97%AE%E9%A2%98.md "Top-K problem " [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_design mode " [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 " Automatic packaging with Jenkins " [199]: https://github.com/CharonChui/AndroidNote/tree/master/Dagger2 "Dagger2" [200]: https://github.com/CharonChui/AndroidNote/blob/master/Dagger2/1.Dagger2%E7%AE%80%E4%BB%8B(%E4%B8%80).md "1. Introduction to Dagger2 ( 1 ).md" [201]: https://github.com/CharonChui/AndroidNote/blob/master/Dagger2/2.Dagger2%E5%85%A5%E9%97%A8demo(%E4%BA%8C).md "2. Dagger2 Getting Started demo ( 2 ).md" [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 entry demo extension ( 3 ).md" [203]: https://github.com/CharonChui/AndroidNote/blob/master/Dagger2/4.Dagger2%E5%8D%95%E4%BE%8B(%E5%9B%9B).md "4. Dagger2 single case ( 4 ).md" [204]: https://github.com/CharonChui/AndroidNote/blob/master/Dagger2/5.Dagger2Lay%E5%92%8CProvider(%E4%BA%94).md "5.Dagger2Lay and Provider ( five ) .md" [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 sample code ( 6 ).md" [206]: https://github.com/CharonChui/AndroidNote/blob/master/Dagger2/7.Dagger2%E4%B9%8Bdagger-android(%E4%B8%83).md "7.Dagger2 of dagger- android( seven ).md" [207]: https://github.com/CharonChui/AndroidNote/blob/master/Dagger2/8.Dagger2%E4%B8%8EMVP(%E5%85%AB).md "8.Dagger2 and MVP ( eight ) .md" [208]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/Android%20WorkManager.md "Android WorkManager.md"

[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 Detailed Execution Principle ( 4 )" [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 Detailed Explanation The principle of operator execution ( 5 )" [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 Detailed Explanation of Thread Scheduling Principles ( 6 )" [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 Principle Analysis ( 9 )" [213]: https://github.com/CharonChui/AndroidNote/blob/master/Tools%26Library/%E8%B0%83%E8%AF%95%E5%B9%B3%E5%8F%B0Sonar.md " Debugging Platform Sonar" [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 " Introduction to AudioTrack " [215]: https://github.com/CharonChui/AndroidNote/blob/master/AdavancedPart/OOM%E9%97%AE%E9%A2%98%E5%88%86%E6%9E%90.md " OOM problem analysis " [216]: https://github.com/CharonChui/AndroidNote/tree/master/VideoDevelopment/ExoPlayer "ExoPlayer" [217]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/ExoPlayer/1.%20ExoPlayer%E7%AE%80%E4%BB%8B.md "1. Introduction to ExoPlayer " [218]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/ExoPlayer/2.%20ExoPlayer%20MediaSource%E7%AE%80%E4%BB%8B.md "2. Introduction to ExoPlayer MediaSource " [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. The prepare method of ExoPlayer source code analysis " [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. Prepare sequence diagram of ExoPlayer source code analysis " [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. PlayerView of ExoPlayer source code analysis " [222]: https://github.com/CharonChui/AndroidNote/blob/master/BasicKnowledge/%E5%8F%8D%E7%BC%96%E8%AF%91.md " Decompile " [223]: https://github.com/CharonChui/AndroidNote/blob/master/Tools%26Library/Icon%E5%88%B6%E4%BD%9C.md "Icon production " [224]: https://github.com/CharonChui/AndroidNote/tree/master/VideoDevelopment/%E6%B5%81%E5%AA%92%E4%BD%93%E5%8D%8F%E8%AE %AE " Streaming protocol " [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 " Video Encapsulation Format " [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 and TextureView" [227]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E5%85%B3%E9%94%AE%E5%B8%A7.md " Keyframe " [228]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/CDN%E5%8F%8APCDN.md "CDN and PCDN" [229]: https://github.com/CharonChui/AndroidNote/tree/master/VideoDevelopment/P2P%E6%8A%80%E6%9C%AF "P2P" [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 " Play Device performance optimization " [231]: https://github.com/CharonChui/AndroidNote/tree/master/VideoDevelopment/OpenGL "OpenGL" [232]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/OpenGL/1.OpenGL%E7%AE%80%E4%BB%8B.md "1. Introduction to OpenGL " [233]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/OpenGL/2.GLSurfaceView%E7%AE%80%E4%BB%8B.md "2.GLSurfaceView Introduction " [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 source code analysis " [235]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/OpenGL/4.GLTextureView%E5%AE%9E%E7%8E%B0.md "4.GLTextureView Implementation.md " [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 draws triangles " [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 draws rectangles and circles " [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 shader language GLSL" [239]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/OpenGL/8.GLES%E7%B1%BB%E5%8F%8AMatrix%E7%B1%BB.md "8. GLES class and Matrix class "

[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 play video " [242]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/OpenGL/11.OpenGL%20ES%E6%BB%A4%E9%95%9C.md "11.OpenGL ES filter " [243]: https://github.com/CharonChui/AndroidNote/tree/master/VideoDevelopment/Danmaku " Barrage " [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 barrage implementation " [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" [246]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E6%B5%81%E5%A A%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 " Streaming Protocol " [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" [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" [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" [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" [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 "Detailed explanation of MP4 format " [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" [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" [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" [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 "Detailed explanation of fMP4 format " [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 "Video Package format " [257]: https://github.com/CharonChui/AndroidNote/tree/master/VideoDevelopment/%E8%A7%86%E9%A2%91%E7%BC%96%E7%A0%81 " Video Coding " [258]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E8%A7%86%E9%A2%91%E7%BC%96%E7%A0%81/AV1.md "AV1" [259]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E8%A7%86%E9%A2%91%E7%BC%96%E7%A0%81/H264.md "H264" [260]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E8%A7%86%E9%A2%91%E7%BC%96%E7%A0%81/H265.md "H265" [261]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/P2P%E6%8A%80%E6%9C%AF/P2P.md "P2P" [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 principle_NAT penetration " [263]: https://github.com/CharonChui/AndroidNote/tree/master/OperatingSystem " Operating System " [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. Operating System Introduction " [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. Processes and Threads " [266]: https://github.com/CharonChui/AndroidNote/blob/master/OperatingSystem/3.%E5%86%85%E5%AD%98%E7%AE%A1%E7%90%86.md "3. Memory management " [267]: https://github.com/CharonChui/AndroidNote/blob/master/OperatingSystem/4.%E8%B0%83%E5%BA%A6.md "4. Scheduling "

[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. Embedded Systems " [271]: https://github.com/CharonChui/AndroidNote/blob/master/OperatingSystem/8.%E8%99%9A%E6%8B%9F%E6%9C%BA.md "8. Virtual machine " [272]: https://github.com/CharonChui/AndroidNote/tree/master/Architect " Architecture Design " [273]: https://github.com/CharonChui/AndroidNote/blob/master/Architect/1.%E6%9E%B6%E6%9E%84%E7%AE%80%E4%BB%8B.md "1. Architecture Introduction " [274]: https://github.com/CharonChui/AndroidNote/tree/master/OperatingSystem/AndroidKernal "Android Kernel " [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 interprocess communication " [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. Handler message mechanism for communication between Android threads " [277]: https://github.com/CharonChui/AndroidNote/blob/master/OperatingSystem/AndroidKernal/3.Android%20Framework%E6%A1%86%E6%9E%B6.md "3.Android Framework " [278]: https://github.com/CharonChui/AndroidNote/blob/master/OperatingSystem/AndroidKernal/4.ActivityManagerService%E7%AE%80%E4%BB%8B.md "4.ActivityManagerService Introduction " [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 message acquisition " [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. Screen drawing basics " [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 drawing principle " [282]: https://github.com/CharonChui/AndroidNote/blob/master/OperatingSystem/AndroidKernal/8.WindowManagerService%E7%AE%80%E4%BB%8B.md "8.WindowManagerService Introduction "

[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. The past and future of findViewById " [307]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/ui/Jetpack%20Compose%E7%AE%80%E4%BB%8B.md " Introduction to Jetpack Compose " [308]: https://github.com/CharonChui/AndroidNote/tree/master/Jetpack/ui/material "material" [309]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/ui/material/1.MaterialToolbar%E7%AE%80%E4%BB%8B.md " 1.Introduction to MaterialToolbar " [310]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/ui/material/2.NavigationView%E7%AE%80%E4%BB%8B.md "2.NavigationView Introduction " [311]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/ui/material/3.NestedScrollView%E7%AE%80%E4%BB%8B.md "3.NestedScrollView Introduction " [312]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/ui/material/4.CoordinatorLayout%E7%AE%80%E4%BB%8B.md " Introduction to 4.CoordinatorLayout " [313]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/ui/material/5.AppBarLayout%E7%AE%80%E4%BB%8B.md "5.AppBarLayout Introduction " [314]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/ui/material/6.CollapsingToolbarLayout%E7%AE%80%E4%BB%8B.md "6.Introduction to CollapsingToolbarLayout " [315]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/ui/material/7.Snackbar%E7%AE%80%E4%BB%8B.md "7.Snackbar Introduction " [316]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/ui/material/8.TabLayout%E7%AE%80%E4%BB%8B.md "8.TabLayout Introduction " [317]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/foundation/1.%E7%AE%80%E4%BB%8B.md "1. Introduction " [318]: https://github.com/CharonChui/AndroidNote/blob/master/Jetpack/behavior/1.%E7%AE%80%E4%BB%8B.md "1. Introduction " [319]: https://github.com/CharonChui/AndroidNote/blob/master/Gradle%26Maven/Composing%20builds%E7%AE%80%E4%BB%8B.md " Introduction to Composing builds " [320]: https://github.com/CharonChui/AndroidNote/blob/master/ImageLoaderLibrary/Coil%E7%AE%80%E4%BB%8B.md " Introduction to Coil " [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" [322]: https://github.com/CharonChui/AndroidNote/tree/master/VideoDevelopment/FFmpeg "FFmpeg" [323]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/FFmpeg/1.FFmpeg%E7%AE%80%E4%BB%8B.md "1. Introduction to FFmpeg " [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 common command line " [325]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/FFmpeg/3.FFmpeg%E5%88%87%E7%89%87.md "3.FFmpeg slice " [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 " sound Principle of video synchronization " [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 "Audio and video scene " [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. Basic knowledge of audio and video " [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. System Player MediaPlayer " [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. Player component Package "

Developed By

License

Copyright (C) 2013 Charon Chui charon.chui@gmail.com

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

Android study notes.