├── README.md
├── _template.md
├── article
├── android
│ ├── _Android-App自动化测试.md
│ ├── _Android-AudioFlinger音频系统.md
│ ├── _Android-Broadcast启动过程.md
│ ├── _Android-ContentProvider启动过程的.md
│ ├── _Android-Input系统.md
│ ├── _Android-JNI开发.md
│ ├── _Android-Kotlin专题.md
│ ├── _Android-RecyclerView源码分析.md
│ ├── basic
│ │ ├── 01_activity.md
│ │ ├── 02_fragment.md
│ │ ├── 03_service.md
│ │ ├── 04_broadcast.md
│ │ ├── 05_content_provider.md
│ │ ├── 06_multiple_screen_support.md
│ │ ├── 07_handler.md
│ │ ├── 08_task_affinity.md
│ │ ├── 09_signature.md
│ │ ├── Android-Activity启动模式&IntentFilter匹配规则.md
│ │ ├── Android-Android_Studio3升级指南.md
│ │ ├── Android-v1&v2签名机制.md
│ │ ├── Android-反编译指南.md
│ │ ├── Android-屏幕适配全攻略.md
│ │ ├── Android-性能优化-UI优化.md
│ │ └── Android-性能优化-内存优化.md
│ ├── framework
│ │ ├── 01_system_start.md
│ │ ├── 02_init_zygote.md
│ │ ├── 03_system_server_01.md
│ │ ├── 04_system_server_02.md
│ │ ├── Android-Activity与Window与View之间的关系.md
│ │ ├── Android-Activity启动过程.md
│ │ ├── Android-Binder进程间通讯.md
│ │ ├── Android-Handler消息机制.md
│ │ ├── Android-IPC多进程.md
│ │ ├── Android-PackageManagerService分析.md
│ │ ├── Android-PowerManagerService-WakeLock.md
│ │ ├── Android-PowerManagerService-亮屏.md
│ │ ├── Android-PowerManagerService-启动.md
│ │ ├── Android-PowerManagerService-灭屏.md
│ │ ├── Android-Service启动过程.md
│ │ ├── Android-SurfaceFlinger图形系统.md
│ │ ├── Android-Windows环境下载源码.md
│ │ └── Android-系统启动过程.md
│ ├── other
│ │ ├── Android-Dagger2.md
│ │ └── Lottie动画开源库使用&源码分析.md
│ ├── performance
│ │ ├── 01_render.md
│ │ ├── 02_compute.md
│ │ ├── 03_memory.md
│ │ ├── 04_battery.md
│ │ ├── 05_network.md
│ │ ├── 06_launch.md
│ │ └── 07_apk.md
│ └── plugin
│ │ ├── 01_reflection.md
│ │ ├── 02_proxy.md
│ │ ├── 03_hook.md
│ │ └── 04_hook_ams.md
├── data_structure_algorithm
│ ├── 01_quick_sort.md
│ └── 02_bubble_sort.md
├── design_patterns
│ ├── Head_First.md
│ ├── 设计模式-Abstract_Factory.md
│ ├── 设计模式-Adapter.md
│ ├── 设计模式-Bridge.md
│ ├── 设计模式-Builder.md
│ ├── 设计模式-Chain_of_Responsibility.md
│ ├── 设计模式-Command.md
│ ├── 设计模式-Composite.md
│ ├── 设计模式-Decorator.md
│ ├── 设计模式-Facade.md
│ ├── 设计模式-Factory.md
│ ├── 设计模式-Flyweight.md
│ ├── 设计模式-Interpreter.md
│ ├── 设计模式-Iterator.md
│ ├── 设计模式-Mediator.md
│ ├── 设计模式-Memento.md
│ ├── 设计模式-Observer.md
│ ├── 设计模式-Prototype.md
│ ├── 设计模式-Proxy.md
│ ├── 设计模式-Singleton.md
│ ├── 设计模式-State.md
│ ├── 设计模式-Strategy.md
│ ├── 设计模式-Template_Method.md
│ ├── 设计模式-Visitor.md
│ └── 面向对象设计原则.md
├── empty.md
├── git
│ └── Git常用命令.md
├── gradle
│ ├── Gradle-00学习.md
│ ├── Gradle-Android_Plugin_DSL.md
│ ├── Gradle-Gradle_DSL.md
│ ├── Gradle-Groovy.md
│ ├── Gradle-插件发布.md
│ ├── Gradle-插件开发.md
│ └── Gradle-简介.md
├── hardware
│ └── esp8266_ws2812.md
├── interview
│ ├── 01_android_basic.md
│ ├── 02_android_advanced.md
│ ├── 03_android_senior.md
│ ├── Android-基础知识.md
│ ├── Java-基础知识.md
│ ├── 人事相关问题.md
│ ├── 数据结构与算法.md
│ └── 网络通信基础知识.md
├── ios
│ ├── iOS-Controller介绍.md
│ ├── iOS-Swift入门.md
│ ├── iOS-入门简介.md
│ └── iOS-常用资源.md
├── java
│ ├── basic
│ │ ├── 01_hashmap.md
│ │ ├── 02_arraylist.md
│ │ ├── 03_linkedlist.md
│ │ ├── 04_treemap_01.md
│ │ ├── 05_treemap_02.md
│ │ ├── Java_IO.md
│ │ └── Redis.md
│ └── jvm
│ │ ├── 00_command_list.md
│ │ ├── 01_bytecode_class.md
│ │ ├── 02_bytecode_command.md
│ │ ├── JVM-内存分配机制.md
│ │ └── JVM-垃圾回收机制.md
├── network
│ ├── HTTP_HTTPS_SSL_TSL.md
│ └── TCP_IP_UDP_Socket.md
├── other
│ └── 生活常识-保险.md
└── web_front
│ ├── CSS布局详解.md
│ ├── WebFront-JavaScript运行原理_V8引擎分析.md
│ ├── WebFront-Vue&BootStrap&jQuery.md
│ ├── WebFront-Vue入门.md
│ ├── WebFront-Webpack入门.md
│ ├── WebFront-发展简史.md
│ ├── WebFront-响应式布局.md
│ ├── WebFront-小程序.md
│ ├── WebFront-小程序_App_H5.md
│ ├── WebFront-浏览器渲染机制.md
│ └── 前端开发指南.md
├── catalog.md
└── resources
├── documents
├── Android多语言对照表.xlsx
├── Android屏幕适配单位转换.xls
├── QuickTools.xlsx
├── 系统EFI原理.docx
└── 设计模式总结.xlsx
├── images
├── about_me
│ ├── qq群.jpg
│ ├── qq群_300.jpg
│ ├── qq群_横版.jpg
│ ├── qrcode_android_besos_banner.png
│ ├── qrcode_android_besos_black_512.png
│ ├── 个人二维码_350.png
│ ├── 关于我.jpg
│ ├── 微信群.jpg
│ ├── 微信群_300.jpg
│ ├── 微信群_横版.jpg
│ ├── 技术社区.png
│ └── 欢迎投稿.png
├── android
│ ├── android_activity
│ │ ├── activity_start.jpg
│ │ └── app_start.png
│ ├── android_activity_window_view
│ │ ├── android_activity_window_create.png
│ │ └── android_phonewindow_decorview.png
│ ├── android_binder
│ │ ├── binder_device.jpg
│ │ ├── binder_main.jpg
│ │ ├── binder_main_request.jpg
│ │ ├── binder_one_main.jpg
│ │ ├── process_thread.jpg
│ │ ├── service_manager_add.jpg
│ │ ├── service_manager_get.jpg
│ │ └── service_manager_start.jpg
│ ├── android_boot_loader
│ │ ├── android-booting.png
│ │ ├── android-bootloader.png
│ │ ├── android-process.png
│ │ └── boot_image.png
│ ├── android_download_source
│ │ ├── 1.png
│ │ ├── 2.png
│ │ ├── 3.png
│ │ ├── 4.png
│ │ ├── 5.png
│ │ ├── 6.png
│ │ └── 7.png
│ ├── android_handler
│ │ ├── 01.jpg
│ │ ├── 02.png
│ │ └── 03.png
│ ├── android_performance
│ │ ├── memory_ast_1.jpg
│ │ ├── memory_ast_2.jpg
│ │ ├── memory_ast_3.jpg
│ │ ├── memory_ast_4.jpg
│ │ ├── memory_ast_5.jpg
│ │ ├── memory_leak_test.jpg
│ │ ├── memory_lint1.jpg
│ │ ├── memory_lint2.jpg
│ │ ├── memory_lint3.jpg
│ │ ├── memory_mat1.jpg
│ │ ├── memory_mat2.jpg
│ │ ├── memory_mat3.jpg
│ │ ├── memory_mat4.jpg
│ │ ├── memory_mat5.jpg
│ │ ├── memory_mat6.jpg
│ │ ├── memory_mat7.jpg
│ │ ├── memory_mat8.jpg
│ │ ├── ui_android_device_monitor.jpg
│ │ ├── ui_draw_per_16ms.png
│ │ ├── ui_gpu_16ms.jpg
│ │ ├── ui_gpu_16ms2.jpg
│ │ ├── ui_hierarchy_view.jpg
│ │ ├── ui_hierarchy_view_2.jpg
│ │ ├── ui_hierarchy_view_3.jpg
│ │ ├── ui_overdraw_1.jpg
│ │ ├── ui_overdraw_options_view.png
│ │ ├── ui_systrace.jpg
│ │ ├── ui_systrace2.jpg
│ │ ├── ui_systrace3.jpg
│ │ ├── ui_systrace4.jpg
│ │ ├── ui_systrace5.jpg
│ │ ├── ui_tearing_simulated.jpg
│ │ ├── ui_tracing.jpg
│ │ ├── ui_tracing2.jpg
│ │ ├── ui_tracing3.jpg
│ │ ├── ui_tracing4.jpg
│ │ ├── ui_tracing5.jpg
│ │ ├── ui_tracing6.jpg
│ │ ├── ui_tracing7.jpg
│ │ ├── ui_tracing8.jpg
│ │ ├── ui_tracing9.jpg
│ │ └── ui_vsync_over_draw.png
│ ├── android_pkms
│ │ ├── 01.png
│ │ ├── 02.png
│ │ ├── 03.png
│ │ ├── 04.png
│ │ ├── 05.png
│ │ ├── 06.png
│ │ ├── 07.png
│ │ └── 08.png
│ ├── android_pms_gosleep
│ │ ├── 01.png
│ │ └── 02.png
│ ├── android_pms_start
│ │ ├── 01.png
│ │ └── 02.png
│ ├── android_pms_wakelock
│ │ ├── 01.png
│ │ └── 02.png
│ ├── android_pms_wakeup
│ │ ├── 01.png
│ │ └── 02.png
│ ├── android_screens_support
│ │ ├── 01.png
│ │ ├── 02.png
│ │ ├── 03.png
│ │ ├── 04.png
│ │ ├── 05.jpg
│ │ ├── 06.png
│ │ ├── 07.png
│ │ ├── 08.png
│ │ ├── 09.png
│ │ ├── 10.png
│ │ ├── 11.png
│ │ ├── 12.png
│ │ └── 13.png
│ ├── android_service
│ │ └── service_start.png
│ ├── android_sign
│ │ ├── 01.png
│ │ ├── 02.png
│ │ ├── 03.png
│ │ ├── 04.png
│ │ ├── 05.png
│ │ ├── 06.png
│ │ ├── 07.png
│ │ ├── 08.png
│ │ ├── 09.png
│ │ ├── 10.png
│ │ ├── 11.png
│ │ ├── 12.png
│ │ ├── 13.png
│ │ ├── 14.png
│ │ └── 15.png
│ ├── android_surfaceflinger
│ │ ├── surface_creat.png
│ │ ├── surface_display.png
│ │ └── surfaceflinger_start.png
│ ├── android_task_launch_modes
│ │ ├── 01.jpg
│ │ ├── 02.jpg
│ │ ├── 03.jpg
│ │ ├── 04.jpg
│ │ └── Android-Activity启动模式.jpg
│ ├── basic
│ │ ├── 01_activity
│ │ │ ├── activity_lifecycle.png
│ │ │ ├── basic-lifecycle-savestate.png
│ │ │ ├── diagram_backstack.png
│ │ │ ├── diagram_backstack_singletask_multiactivity.png
│ │ │ └── diagram_multitasking.png
│ │ ├── 02_fragment
│ │ │ └── 01.png
│ │ ├── 03_service
│ │ │ └── 01.png
│ │ ├── 05_content_provider
│ │ │ └── 01.jpg
│ │ ├── 06_multiple_screen_support
│ │ │ ├── 01.png
│ │ │ ├── 02.png
│ │ │ ├── 03.png
│ │ │ ├── 04.png
│ │ │ ├── 05.png
│ │ │ ├── 06.png
│ │ │ ├── 07.png
│ │ │ ├── 08.png
│ │ │ ├── 09.png
│ │ │ ├── 10.png
│ │ │ ├── 11.png
│ │ │ ├── 12.png
│ │ │ ├── 13.png
│ │ │ ├── 14.png
│ │ │ ├── 15.png
│ │ │ └── 16.png
│ │ ├── 07_handler
│ │ │ ├── 01.png
│ │ │ ├── 02.png
│ │ │ ├── 03.png
│ │ │ ├── 04.png
│ │ │ ├── 05.png
│ │ │ ├── 06.png
│ │ │ ├── 07.png
│ │ │ └── 08.png
│ │ ├── 08_task_affinity
│ │ │ └── 01.jpg
│ │ └── 10_signature
│ │ │ ├── 01.png
│ │ │ ├── 02.png
│ │ │ ├── 03.png
│ │ │ ├── 04.png
│ │ │ ├── 05.png
│ │ │ ├── 06.png
│ │ │ ├── 07.png
│ │ │ ├── 08.png
│ │ │ ├── 09.png
│ │ │ ├── 10.png
│ │ │ ├── 11.png
│ │ │ ├── 12.png
│ │ │ ├── 13.png
│ │ │ ├── 14.png
│ │ │ └── 15.png
│ ├── framework
│ │ ├── 01_system_start
│ │ │ ├── 01.jpg
│ │ │ ├── 02.jpg
│ │ │ ├── 03.jpg
│ │ │ ├── 04.jpg
│ │ │ ├── 05.jpg
│ │ │ ├── 06.png
│ │ │ └── 07.png
│ │ ├── 02_init_zygote
│ │ │ ├── 01.png
│ │ │ ├── 02.png
│ │ │ ├── 03.png
│ │ │ └── 04.png
│ │ ├── 03_system_server_01
│ │ │ ├── 01.png
│ │ │ ├── 02.png
│ │ │ └── 03.png
│ │ └── 04_system_server_02
│ │ │ └── 01.jpg
│ ├── performance
│ │ ├── 01_render
│ │ │ ├── 01.jpg
│ │ │ ├── 02.png
│ │ │ ├── 03.png
│ │ │ ├── 04.png
│ │ │ ├── 05.png
│ │ │ ├── 06.png
│ │ │ ├── 07.jpg
│ │ │ ├── 08.png
│ │ │ ├── 09.png
│ │ │ ├── 10.png
│ │ │ ├── 11.png
│ │ │ ├── 12.png
│ │ │ ├── 13.png
│ │ │ ├── 14.png
│ │ │ ├── 15.jpg
│ │ │ ├── 16.png
│ │ │ ├── 17.png
│ │ │ ├── 18.png
│ │ │ ├── 19.png
│ │ │ └── 20.png
│ │ ├── 02_compute
│ │ │ ├── 01.png
│ │ │ ├── 02.png
│ │ │ ├── 03.png
│ │ │ ├── 04.png
│ │ │ ├── 05.jpg
│ │ │ ├── 06.png
│ │ │ ├── 07.jpg
│ │ │ └── 08.jpg
│ │ ├── 03_memory
│ │ │ ├── 01.png
│ │ │ ├── 02.png
│ │ │ ├── 03.png
│ │ │ └── 04.png
│ │ ├── 04_battery
│ │ │ ├── 01.png
│ │ │ ├── 02.png
│ │ │ ├── 03.png
│ │ │ ├── 04.png
│ │ │ ├── 05.png
│ │ │ ├── 06.png
│ │ │ ├── 07.png
│ │ │ └── 08.png
│ │ ├── 05_network
│ │ │ ├── 01.png
│ │ │ ├── 02.png
│ │ │ ├── 03.png
│ │ │ ├── 04.png
│ │ │ ├── 05.png
│ │ │ └── 06.png
│ │ ├── 06_launch
│ │ │ ├── 01.png
│ │ │ ├── 02.png
│ │ │ ├── 03.png
│ │ │ ├── 04.png
│ │ │ ├── 05.png
│ │ │ ├── 06.png
│ │ │ └── 07.png
│ │ └── 07_apk
│ │ │ ├── 01.png
│ │ │ └── 02.png
│ └── plugin
│ │ ├── 01.png
│ │ ├── 02.png
│ │ ├── 03.png
│ │ └── 04.jpg
├── design_patterns
│ ├── Facade-01.png
│ ├── Facade-03.png
│ ├── Facade-04.png
│ ├── Facade-05.png
│ ├── Facade-06.png
│ └── Facade-07.png
├── gradle
│ ├── 00.png
│ ├── 01.png
│ ├── 02.png
│ ├── 03.png
│ ├── 04.png
│ ├── 05.png
│ ├── 06.png
│ ├── 07.png
│ ├── 08.png
│ ├── 09.png
│ ├── 10.png
│ ├── 100.png
│ ├── 101.png
│ ├── 102.png
│ ├── 11.png
│ ├── 12.png
│ ├── 13.png
│ ├── 14.png
│ ├── 15.png
│ └── 16.png
├── hardware
│ └── led
│ │ ├── 00.png
│ │ ├── 01.png
│ │ ├── 02.png
│ │ ├── 03.png
│ │ ├── 04.png
│ │ ├── 05.png
│ │ ├── 06.png
│ │ ├── 07.png
│ │ ├── 08.png
│ │ ├── 09.png
│ │ ├── 10.jpg
│ │ ├── 11.jpg
│ │ ├── 12.png
│ │ ├── 13.png
│ │ ├── 14.png
│ │ ├── 15.webp
│ │ ├── 16.webp
│ │ ├── 17.webp
│ │ ├── 18.webp
│ │ ├── 19.webp
│ │ ├── 20.jpg
│ │ └── 21.png
├── interview
│ └── 01.jpeg
├── ios_intro
│ ├── ios_8_system_level_desc.png
│ ├── ios_system_level.png
│ └── uikit_organization_chart.jpg
├── java
│ ├── basic
│ │ ├── java_arraylist
│ │ │ ├── arraylist_add.png
│ │ │ ├── arraylist_add2.png
│ │ │ ├── arraylist_remove.png
│ │ │ └── arraylist_trim.png
│ │ ├── java_hashmap
│ │ │ ├── 01.png
│ │ │ ├── 02.png
│ │ │ ├── 03.png
│ │ │ ├── 04.png
│ │ │ ├── 05.png
│ │ │ └── 06.png
│ │ ├── linkedlist
│ │ │ └── 01.png
│ │ └── treemap
│ │ │ ├── 01.jpg
│ │ │ ├── 02.jpg
│ │ │ ├── 03.jpg
│ │ │ ├── 04.jpg
│ │ │ ├── 05.jpg
│ │ │ ├── 06.jpg
│ │ │ ├── 07.jpg
│ │ │ ├── 08.jpg
│ │ │ ├── 09.jpg
│ │ │ ├── 10.jpg
│ │ │ └── 11.jpg
│ └── jvm
│ │ ├── class
│ │ ├── 01.jpg
│ │ ├── 02.jpg
│ │ ├── 03.jpg
│ │ ├── 04.jpg
│ │ ├── 05.jpg
│ │ ├── 06.jpg
│ │ ├── 07.jpg
│ │ ├── 08.jpg
│ │ ├── 09.jpg
│ │ ├── 10.jpg
│ │ ├── 10_1.jpg
│ │ ├── 11.jpg
│ │ ├── 12.jpg
│ │ ├── 13.jpg
│ │ ├── 14.jpg
│ │ ├── 15.jpg
│ │ ├── 16.jpg
│ │ ├── 17.jpg
│ │ ├── 18.jpg
│ │ ├── 19.jpg
│ │ ├── 20.jpg
│ │ ├── 21.jpg
│ │ ├── 22.jpg
│ │ ├── 23.jpg
│ │ ├── 24.jpg
│ │ ├── 25.jpg
│ │ ├── 26.jpg
│ │ ├── 27.jpg
│ │ ├── 28.jpg
│ │ ├── 29.jpg
│ │ └── 30.jpg
│ │ ├── gc_clean.jpg
│ │ ├── gc_collection1.jpg
│ │ ├── gc_collection2.jpg
│ │ ├── gc_collection3.jpg
│ │ ├── gc_collection4.jpg
│ │ ├── gc_collection5.jpg
│ │ ├── gc_collection6.jpg
│ │ ├── gc_collection7.jpg
│ │ ├── gc_collection8.jpg
│ │ ├── gc_compacting.jpg
│ │ ├── gc_copy.jpg
│ │ ├── gc_heap_structure.jpg
│ │ ├── gc_heap_structure_desc.jpg
│ │ ├── gc_marking.jpg
│ │ ├── gc_reference_chain.jpg
│ │ ├── jvm_gc
│ │ ├── 01.jpg
│ │ ├── 02.jpg
│ │ ├── 03.jpg
│ │ ├── 04.jpg
│ │ ├── 05.jpg
│ │ ├── 06.jpg
│ │ ├── 07.jpg
│ │ ├── 08.jpg
│ │ ├── 09.jpg
│ │ ├── 10.jpg
│ │ ├── 11.jpg
│ │ ├── 12.jpg
│ │ ├── 13.jpg
│ │ ├── 14.jpg
│ │ ├── 15.jpg
│ │ ├── jvm_memory_area.png
│ │ ├── jvm_memory_area_simple1.png
│ │ ├── jvm_memory_area_simple2.png
│ │ └── jvm_memory_area_simple3.png
│ │ ├── jvm_memory_area.png
│ │ ├── jvm_memory_area_simple1.png
│ │ ├── jvm_memory_area_simple2.png
│ │ ├── jvm_memory_area_simple3.png
│ │ ├── method_invoke
│ │ ├── 01.png
│ │ ├── 02.png
│ │ ├── 03.png
│ │ ├── 04.png
│ │ ├── 05.png
│ │ └── 06.png
│ │ └── optimize
│ │ └── 01.png
├── lottie
│ ├── 01.png
│ ├── 02.png
│ └── 03.png
├── network
│ ├── http_connect.jpg
│ ├── http_connect_keep.jpg
│ ├── http_connect_simple.jpg
│ ├── http_https.jpg
│ ├── http_spdy.jpg
│ ├── http_tcp.jpg
│ ├── http_version.jpg
│ ├── https_ca.jpg
│ ├── pass_key.jpg
│ ├── pass_none.jpg
│ ├── pass_pub_hacker.jpg
│ ├── pass_pub_pre_key.jpg
│ ├── tcp_data.jpg
│ ├── tcp_end.jpg
│ ├── tcp_osi.jpg
│ ├── tcp_start.jpg
│ └── tcp_transaction.jpg
├── other
│ └── insurance
│ │ ├── 01.png
│ │ ├── 02.jpg
│ │ └── 03.jpg
├── web_front
│ ├── web_front_app
│ │ ├── 01.png
│ │ ├── 02.png
│ │ ├── 03.png
│ │ ├── 04.png
│ │ ├── app_android_ios.png
│ │ └── app_arch.png
│ ├── web_front_html
│ │ ├── dom_tree.png
│ │ ├── firefoxflow.jpg
│ │ ├── flow.png
│ │ ├── layers.png
│ │ ├── render_tree.png
│ │ └── webkitflow.png
│ ├── web_front_response
│ │ └── dpi.jpg
│ ├── web_front_trend
│ │ ├── ajax.png
│ │ ├── browser_trend.png
│ │ ├── html5_support.png
│ │ ├── jquery.png
│ │ ├── mobile_html5_support.png
│ │ ├── mv_.png
│ │ ├── netscape.png
│ │ ├── npm.png
│ │ └── time_line.png
│ ├── web_front_v8
│ │ ├── code_inlining.png
│ │ ├── hide_class.png
│ │ ├── hide_class1.png
│ │ ├── hide_class2.png
│ │ ├── hide_class_diff.png
│ │ ├── js_hash.jpg
│ │ ├── js_loop.jpg
│ │ ├── js_vs_c.jpg
│ │ ├── v8_arch.png
│ │ ├── v8_call_stack.png
│ │ ├── v8_call_stack2.png
│ │ ├── v8_error.png
│ │ ├── v8_error2.png
│ │ └── v8_runtime.png
│ └── web_project
│ │ ├── 01.png
│ │ ├── 02.png
│ │ ├── 03.png
│ │ ├── 04.png
│ │ ├── 05.png
│ │ ├── 06.png
│ │ ├── 07.png
│ │ ├── 08.png
│ │ ├── 09.png
│ │ ├── 10.png
│ │ ├── 11.png
│ │ ├── 12.png
│ │ ├── 13.png
│ │ ├── 14.png
│ │ ├── 15.png
│ │ └── 16.png
└── xmind
│ ├── Android基础.png
│ ├── Android资深.png
│ └── Android高级.png
├── tools
├── auto_rem.html
└── python_download.py
└── visio
├── Android-Binder机制.vsdx
└── Android-Binder机制2.vsdx
/_template.md:
--------------------------------------------------------------------------------
1 | # 大标题
2 |
3 | ## 小标题
4 |
5 |
6 |
7 | ## 参考资料
8 |
9 | - [资料标题](http://www.baidu.com)
10 |
11 | ## 我的公众号
12 |
13 | 欢迎你「扫一扫」下面的二维码,关注我的公众号,可以接受最新的文章推送,有丰厚的抽奖活动和福利等着你哦!😍
14 |
15 |
16 |
17 | 如果你有什么疑问或者问题,可以 [点击这里](https://github.com/jeanboydev/Android-ReadTheFuckingSourceCode/issues) 提交 issue,也可以发邮件给我 [jeanboy@foxmail.com](mailto:jeanboy@foxmail.com)。
18 |
19 | 同时欢迎你 [](http://shang.qq.com/wpa/qunwpa?idkey=0b505511df9ead28ec678df4eeb7a1a8f994ea8b75f2c10412b57e667d81b50d) 来一起交流学习,群里有很多大牛和学习资料,相信一定能帮助到你!
20 |
21 |
22 |
--------------------------------------------------------------------------------
/article/android/_Android-App自动化测试.md:
--------------------------------------------------------------------------------
1 | # Android - 大标题
2 |
3 | ## 小标题
4 |
5 | ## 参考资料
6 |
7 | - [资料标题](http://www.baidu.com)
8 |
9 |
10 |
--------------------------------------------------------------------------------
/article/android/_Android-AudioFlinger音频系统.md:
--------------------------------------------------------------------------------
1 | # Android - 大标题
2 |
3 | ## 小标题
4 |
5 | ## 参考资料
6 |
7 | - [资料标题](http://www.baidu.com)
8 |
9 |
10 |
--------------------------------------------------------------------------------
/article/android/_Android-Broadcast启动过程.md:
--------------------------------------------------------------------------------
1 | # Android - 大标题
2 |
3 | ## 小标题
4 |
5 | ## 参考资料
6 |
7 | - [资料标题](http://www.baidu.com)
8 |
9 |
10 |
--------------------------------------------------------------------------------
/article/android/_Android-ContentProvider启动过程的.md:
--------------------------------------------------------------------------------
1 | # Android - 大标题
2 |
3 | ## 小标题
4 |
5 | ## 参考资料
6 |
7 | - [资料标题](http://www.baidu.com)
8 |
9 |
10 |
--------------------------------------------------------------------------------
/article/android/_Android-Input系统.md:
--------------------------------------------------------------------------------
1 | # Android - 大标题
2 |
3 | ## 小标题
4 |
5 | ## 参考资料
6 |
7 | - [资料标题](http://www.baidu.com)
8 |
9 |
10 |
--------------------------------------------------------------------------------
/article/android/_Android-JNI开发.md:
--------------------------------------------------------------------------------
1 | # Android - 大标题
2 |
3 | ## 小标题
4 |
5 | ## 参考资料
6 |
7 | - [资料标题](http://www.baidu.com)
8 |
9 |
10 |
--------------------------------------------------------------------------------
/article/android/_Android-Kotlin专题.md:
--------------------------------------------------------------------------------
1 | # Android - 大标题
2 |
3 | ## 小标题
4 |
5 | ## 参考资料
6 |
7 | - [资料标题](http://www.baidu.com)
8 |
9 |
10 |
--------------------------------------------------------------------------------
/article/android/_Android-RecyclerView源码分析.md:
--------------------------------------------------------------------------------
1 | # Android - RecyclerView 源码分析
2 |
3 |
4 | ##
5 | ###
--------------------------------------------------------------------------------
/article/android/basic/Android-反编译指南.md:
--------------------------------------------------------------------------------
1 | # Android - 反编译指南
2 |
3 |
4 | ## 反编译源码
5 | ### 1. 使用 dex2jar
6 |
7 | 作用:将 apk 反编译成 java 源码(classes.dex 转化成 jar 文件)
8 |
9 | dex2jar 下载:https://sourceforge.net/projects/dex2jar
10 |
11 | 下载最新的 dex2jar 并解压
12 |
13 | ### 2. 解压 apk 安装包,将 classes.dex 复制 dex2jar 目录下,执行下面命令
14 |
15 | ```C
16 | d2j-dex2jar classes.dex
17 | ```
18 | Win10 最新 PowerShell 窗口尝试下面命令:
19 |
20 | ```C
21 | .\d2j-dex2jar.bat .\classes.dex
22 | ```
23 |
24 | ### 3. 得到 classes-dex2jar.jar 使用 jd-gui.exe 打开
25 |
26 | 作用:查看 APK 中 classes.dex 转化成出的 jar 文件,即源码文件
27 |
28 | dex2jar 下载:http://jd.benow.ca/
29 |
30 |
31 |
32 | ## 反编译资源文件
33 | ### 1. 使用 apktool
34 | 作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看
35 |
36 | apktool 下载:https://bitbucket.org/iBotPeaches/apktool/downloads/
37 |
38 | 下载最新的 apktool 并解压
39 | ### 2. 将 apk 安装包复制到 apktool 目录下,执行命令
40 |
41 | ```C
42 | java -jar apktool.jar d -f xxx.apk -o res
43 | ```
44 |
45 | > 注意:apktool.bat 与 apktool.jar 文件名为 apktool
46 |
47 | ## 我的公众号
48 |
49 | 欢迎你「扫一扫」下面的二维码,关注我的公众号,可以接受最新的文章推送,有丰厚的抽奖活动和福利等着你哦!😍
50 |
51 |
52 |
53 | 如果你有什么疑问或者问题,可以 [点击这里](https://github.com/jeanboydev/Android-ReadTheFuckingSourceCode/issues) 提交 issue,也可以发邮件给我 [jeanboy@foxmail.com](mailto:jeanboy@foxmail.com)。
54 |
55 | 同时欢迎你 [](http://shang.qq.com/wpa/qunwpa?idkey=0b505511df9ead28ec678df4eeb7a1a8f994ea8b75f2c10412b57e667d81b50d) 来一起交流学习,群里有很多大牛和学习资料,相信一定能帮助到你!
56 |
57 |
--------------------------------------------------------------------------------
/article/data_structure_algorithm/01_quick_sort.md:
--------------------------------------------------------------------------------
1 | # 快速排序
2 |
3 | ## 排序过程
4 |
5 | 1. 首先定义左右两个指针
6 | 2. 以左边第一个数为基数 base
7 | 3. while(i= base) { // 从右向左遍历,找到第一个比 base 小的数
28 | j--;
29 | }
30 | arr[i] = arr[j]; // 找到比 base 小的数,放入到最左边
31 | while (i < j && arr[i] < base) { // 从左向右遍历,找到第一个比 base 大的数
32 | i++;
33 | }
34 | arr[j] = arr[i]; // 找到比 base 大的数,放入到右边
35 | }
36 | arr[i] = base; // 遍历完说明两个哨兵相遇,最后交换哨兵与与基准数
37 | if (i > l) { // 左边部分排序
38 | quickSort(arr, l, i - 1);
39 | }
40 | if (j < r) { // 右边部分排序
41 | quickSort(arr, j + 1, r);
42 | }
43 | }
44 | ```
45 |
46 |
--------------------------------------------------------------------------------
/article/data_structure_algorithm/02_bubble_sort.md:
--------------------------------------------------------------------------------
1 | # 冒泡排序
2 |
3 | ## 排序过程
4 |
5 | 1. 外循环从右向左遍历
6 | 2. 内循环从左向右遍历,排除最后一位数
7 | 3. 如果当前的数比后一位数大,则交换
8 |
9 | ## 代码实现
10 |
11 | ```java
12 | private static void bubbleSort(int[] arr) {
13 | if (arr == null || arr.length < 2) return;
14 | int n = arr.length;
15 | boolean isSwap = false; // 是否发生了交换
16 | // 从右向左遍历
17 | for (int i = n - 1; i > 0; i--) {
18 | isSwap = false; // 重置标识
19 | for (int j = 0; j < i; j++) { // 每一轮冒泡,最后一位肯定是最大的数,所以排除最后一位
20 | if (arr[j] > arr[j + 1]) { // 右边的数比左边大,交换数据
21 | int temp = arr[j];
22 | arr[j] = arr[j + 1];
23 | arr[j + 1] = temp;
24 | isSwap = true; // 发生了数据交换
25 | }
26 | }
27 | if (!isSwap) { // 没有发生交换,说明已经是正序的数组了
28 | break;
29 | }
30 | }
31 | }
32 | ```
33 |
--------------------------------------------------------------------------------
/article/design_patterns/设计模式-Abstract_Factory.md:
--------------------------------------------------------------------------------
1 | # Abstract Factory(抽象工厂模式) #
2 | ## 概述 ##
3 | 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。 该超级工厂又称为其他工厂的工厂。 这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
4 |
5 | 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。 每个生成的工厂都能按照工厂模式提供对象。
6 |
7 |
8 | ## 使用 ##
9 | ### 示例 ###
10 | [Factory(工厂模式)](https://github.com/jeanboydev/Android-ReadTheFuckingSourceCode/blob/master/设计模式-Factory.md)
11 |
12 | 在上一篇中我们成功的采购了辣条,并且卖的特别火爆。 随着生意的火爆我们需要采购更多种类的辣条,但是每次采购都很痛苦,都得提供种类的名称,比如: kiss,big 等。 于是跟厂家商量你们这的辣条种类太多了,每次采购都很麻烦,有没有简单方式来方便我们采购? 厂家一听,确实太麻烦了,就让他们的销售经理 Provider 来帮助我们采购。
13 |
14 | ### 实现 ###
15 | 1. 首先创建一个辣条类
16 | ```Java
17 | public interface HotStrip {
18 | void info();//用于输出辣条信息
19 | }
20 | ```
21 | 2. 然后实现不同种类的辣条
22 | - 实现大面筋辣条
23 | ```Java
24 | public class BigHotStrip implements HotStrip {
25 |
26 | @Override
27 | public void info() {
28 | System.out.println("这是大面筋!");
29 | }
30 | }
31 | ```
32 | - 实现亲嘴烧辣条
33 | ```Java
34 | public class KissHotStrip implements HotStrip{
35 |
36 | @Override
37 | public void info() {
38 | System.out.println("这是亲嘴烧!");
39 | }
40 | }
41 | ```
42 | 3. 然后创建销售经理负责提供辣条
43 | ```Java
44 | public interface Provider {
45 |
46 | HotStrip produce();
47 | }
48 | ```
49 | 4. 分别实现销售经理负责种类的辣条生产
50 | ```Java
51 | public class BigFactory implements Provider {
52 |
53 | @Override
54 | public HotStrip produce() {
55 | return new BigHotStrip();
56 | }
57 | }
58 | ```
59 | ```Java
60 | public class KissFactory implements Provider {
61 |
62 | @Override
63 | public HotStrip produce() {
64 | return new KissHotStrip();
65 | }
66 | }
67 | ```
68 |
69 |
70 | 5. 最后模拟采购流程
71 | ```Java
72 | public class FactoryTest {
73 |
74 | @Test
75 | public void testHotStrip() {
76 | HotStripFactory factory = new HotStripFactory();
77 | HotStrip hotStrip = factory.produce("kiss");//需要亲嘴烧时传入kiss
78 | // hotStrip = factory.produce("big");//需要大面筋时传入big
79 | hotStrip.info();
80 | }
81 |
82 | @Test
83 | public void testAbstractHotStrip() {//抽象工厂方式
84 | Provider provider = new BigFactory();//辣条的种类交给Provider提供,调用者不需要关心辣条的种类了
85 | // provider = new KissFactory();
86 | HotStrip hotStrip = provider.produce();
87 | hotStrip.info();
88 | }
89 | }
90 | ```
91 | > 可以看出客户并不知道 Provider 是怎么提供的辣条,也不需要再传入参数了。
92 |
93 | ## 使用场景 ##
94 | QQ 换皮肤,一整套一起换。
95 |
96 | ## 优点 ##
97 | 1. 抽象工厂模式隔离了具体类的生成,使得客户并不需要知道什么被创建。 由于这种隔离,更换一个具体工厂就变得相对容易,所有的具体工厂都实现了抽象工厂中定义的那些公共接口,因此只需改变具体工厂的实例,就可以在某种程度上改变整个软件系统的行为。
98 | 2. 当一个产品工厂中的多个对象被设计成一起工作时,它能够保证客户端始终只使用同一个产品工厂中的对象。
99 | 3. 增加新的产品工厂很方便,无须修改已有系统,符合“开闭原则”。
100 |
101 | ## 缺点 ##
102 | 增加新的产品等级结构麻烦(比如:增加方便面种类产品),需要对原有系统进行较大的修改,甚至需要修改抽象层代码,这显然会带来较大的不便,违背了“开闭原则”。
--------------------------------------------------------------------------------
/article/design_patterns/设计模式-Adapter.md:
--------------------------------------------------------------------------------
1 | # Adapter(适配器模式) #
2 | ## 概述 ##
3 | 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。 这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。
4 |
5 | 主要解决在软件系统中,常常要将一些"现存的对象"放到新的环境中,而新环境要求的接口是现对象不能满足的。
6 |
7 | ## 使用 ##
8 | ### 示例 ###
9 | 比如说我们使用读卡器通过电脑读取SD卡。 读卡器可以看做是适配器。
10 |
11 | ### 实现 ###
12 | 1. 首先创建一个SD卡
13 | ```Java
14 | public class SDCard {
15 |
16 | private String data;
17 |
18 | public void setData(String data) {
19 | this.data = data;
20 | }
21 |
22 | public String getData() {
23 | return data;
24 | }
25 | }
26 | ```
27 | 2. 然后我们需要一台电脑读取数据
28 | ```Java
29 | public interface USBInterface {
30 |
31 | String readData();
32 | }
33 | ```
34 | ```Java
35 | public class Computer {
36 |
37 | public void showData(USBInterface usb) {
38 | System.out.println(usb.readData());
39 | }
40 | }
41 | ```
42 | 3. 创建读卡器
43 | ```Java
44 | public class SDCardAdapter implements USBInterface {
45 |
46 | private SDCard card;
47 |
48 | public SDCardAdapter(SDCard card) {
49 | this.card = card;
50 | }
51 |
52 | @Override
53 | public String readData() {
54 | return card.getData();
55 | }
56 | }
57 | ```
58 | 4. 使用读卡器读取并显示数据
59 | ```Java
60 | public class AdapterTest {
61 |
62 | @Test
63 | public void testAdapter() {
64 | SDCard card = new SDCard();
65 | card.setData("SD Card 保存的数据!");
66 |
67 | USBInterface usb = new SDCardAdapter(card);
68 |
69 | Computer computer = new Computer();
70 | computer.showData(usb);
71 | }
72 | }
73 | ```
74 |
75 | > 可以看出,电脑使用USB接口读取数据,读卡器可以插卡共提供USB接口,这样就可以使用电脑读取我们的SD卡了。
76 |
77 | ## 使用场景 ##
78 | 1. JAVA 中的 jdbc。
79 | 2. 在 LINUX 上运行 WINDOWS 程序。
80 | 3. JAVA JDK 1.1 提供了 Enumeration 接口,而在 1.2 中提供了 Iterator 接口,想要使用 1.2 的 JDK,则要将以前系统的 Enumeration 接口转化为 Iterator 接口,这时就需要适配器模式。
81 |
82 | ## 主要解决 ##
83 | 主要解决在软件系统中,常常要将一些"现存的对象"放到新的环境中,而新环境要求的接口是现对象不能满足的。
84 |
85 | ## 优点 ##
86 | 1. 可以让任何两个没有关联的类一起运行。
87 | 2. 提高了类的复用。
88 | 3. 增加了类的透明度。
89 | 4. 灵活性好。
90 | ## 缺点 ##
91 | 1. 过多地使用适配器,会让系统非常零乱,不易整体进行把握。
92 | 2. 由于 JAVA 至多继承一个类,所以至多只能适配一个适配者类,而且目标类必须是抽象类。
93 |
94 | ## 注意事项 ##
95 | 适配器不是在详细设计时添加的,而是解决正在服役的项目的问题。
--------------------------------------------------------------------------------
/article/design_patterns/设计模式-Bridge.md:
--------------------------------------------------------------------------------
1 | # Bridge(桥接模式) #
2 | ## 概述 ##
3 | 桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。 这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。
4 |
5 | 桥接模式是软件设计模式中最复杂的模式之一,它把事物对象和其具体行为、具体特征分离开来,使它们可以各自独立的变化。
6 |
7 | ## 使用 ##
8 | ### 示例 ###
9 | 回到我们的辣条工厂,之前的辣条生产线和包装线都是一条线完成的,现在需要将辣条的生产和包装分开,使分工更加明确。
10 |
11 | ### 实现 ###
12 | 1. 之前的辣条
13 | ```Java
14 | public interface HotStrip {
15 | String getType();//保存辣条的种类信息
16 | }
17 | ```
18 | ```Java
19 | public class KissHotStrip implements HotStrip {
20 |
21 | @Override
22 | public String getType() {
23 | return "这是亲嘴烧!";
24 | }
25 | }
26 | ```
27 | ```Java
28 | public class BigHotStrip implements HotStrip {
29 |
30 | @Override
31 | public String getType() {
32 | return "这是大面筋!";
33 | }
34 |
35 | }
36 | ```
37 | 2. 将辣条生产和包装分离
38 | ```Java
39 | public abstract class Bridge {
40 |
41 | private HotStrip hotStrip;
42 |
43 | public HotStrip getHotStrip() {
44 | return hotStrip;
45 | }
46 |
47 | public void setHotStrip(HotStrip hotStrip) {
48 | this.hotStrip = hotStrip;
49 | }
50 |
51 | public abstract void pack();
52 |
53 | }
54 | ```
55 | 3. 创建辣条包装生产线
56 | ```Java
57 | public class PackageBridge extends Bridge {
58 |
59 | @Override
60 | public void pack() {
61 | System.out.println("包装辣条:" + getHotStrip().getType());
62 | }
63 | }
64 | ```
65 | 4. 测试生产线
66 | ```Java
67 | public class BridgeTest {
68 |
69 | @Test
70 | public void testBridge() {
71 |
72 | Bridge bridge = new PackageBridge();
73 |
74 | HotStrip hotStrip1 = new KissHotStrip();
75 | bridge.setHotStrip(hotStrip1);
76 | bridge.pack();
77 |
78 | HotStrip hotStrip2 = new BigHotStrip();
79 | bridge.setHotStrip(hotStrip2);
80 | bridge.pack();
81 | }
82 | }
83 | ```
84 |
85 | > 可以看出,不管是生产任何种类的辣条都不会影响包装的生产线。
86 |
87 | ## 使用场景 ##
88 | 1. 如果一个系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性,避免在两个层次之间建立静态的继承联系,通过桥接模式可以使它们在抽象层建立一个关联关系。
89 | 2. 对于那些不希望使用继承或因为多层次继承导致系统类的个数急剧增加的系统,桥接模式尤为适用。
90 | 3. 一个类存在两个独立变化的维度,且这两个维度都需要进行扩展。
91 |
92 | ## 主要解决 ##
93 | 在有多种可能会变化的情况下,用继承会造成类爆炸问题,扩展起来不灵活。
94 |
95 | ## 优点 ##
96 | 1. 抽象和实现的分离。
97 | 2. 优秀的扩展能力。
98 | 3. 增加了类的透明度。
99 | 4. 灵活性好。
100 |
101 | ## 缺点 ##
102 | 桥接模式的引入会增加系统的理解与设计难度,由于聚合关联关系建立在抽象层,要求开发者针对抽象进行设计与编程。
103 |
104 | ## 注意事项 ##
105 | 对于两个独立变化的维度,使用桥接模式再适合不过了。
--------------------------------------------------------------------------------
/article/design_patterns/设计模式-Command.md:
--------------------------------------------------------------------------------
1 | # Command(命令模式) #
2 | ## 概述 ##
3 | 命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。 请求以命令的形式包裹在对象中,并传给调用对象。 调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。
4 |
5 | ## 使用 ##
6 | ### 示例 ###
7 | 我们来模拟一下辣条厂中,小组长命令员工去工作的场景。
8 |
9 | ### 实现 ###
10 | 1. 创建一个命令处理接口
11 | ```Java
12 | public interface Receiver {
13 |
14 | void action(String desc);
15 | }
16 | ```
17 | 2. 员工实现接口处理命令
18 | ```Java
19 | public class Employee implements Receiver {
20 |
21 | @Override
22 | public void action(String desc) {
23 | System.out.println("Employee 执行命令:" + desc);
24 | }
25 | }
26 | ```
27 | 3. 创建命令接口
28 | ```Java
29 | public interface Command {
30 |
31 | void execute(String desc);
32 | }
33 | ```
34 | ```Java
35 | public class WorkCommand implements Command {
36 |
37 | private Receiver receiver;
38 |
39 | public WorkCommand(Receiver receiver) {
40 | this.receiver = receiver;
41 | }
42 |
43 | @Override
44 | public void execute(String desc) {
45 | receiver.action(desc);
46 | }
47 | }
48 | ```
49 | 4. 创建发送命令的小组长
50 | ```Java
51 | public class Leader implements Receiver {
52 |
53 | private Command command;
54 |
55 | public Leader(Command command) {
56 | this.command = command;
57 | }
58 |
59 | @Override
60 | public void action(String desc) {
61 | command.execute(desc);
62 | }
63 | }
64 | ```
65 |
66 | 5. 测试
67 | ```Java
68 | public class CommandTest {
69 |
70 | @Test
71 | public void testCommand() {
72 | Receiver receiver = new Employee();//创建命令接受者
73 | Command command = new WorkCommand(receiver);//创建命令
74 | Leader leader = new Leader(command);//创建命令发送者
75 | leader.action("去工作");//发送命令
76 | }
77 | }
78 | ```
79 |
80 | 6. 输出
81 | ```Java
82 | 03-23 11:53:42.221 31493-31521/? I/System.out: Employee 执行命令:去工作
83 | ```
84 |
85 | > 从输出信息可以看出,最后员工执行了命令去工作了。
86 |
87 | ## 使用场景 ##
88 | 认为是命令的地方都可以使用命令模式,比如: 1. GUI 中每一个按钮都是一条命令。 2. 模拟 CMD。
89 |
90 | ## 主要解决 ##
91 | 在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比如需要对行为进行记录、撤销或重做、事务等处理时,这种无法抵御变化的紧耦合的设计就不太合适。
92 |
93 | 一次设定,统一执行(与责任链相反)。
94 |
95 | ## 优点 ##
96 | 1. 降低了系统耦合度。
97 | 2. 新的命令可以很容易添加到系统中去。
98 |
99 | ## 缺点 ##
100 | 使用命令模式可能会导致某些系统有过多的具体命令类。
101 |
102 | ## 注意事项 ##
103 | 系统需要支持命令的撤销(Undo)操作和恢复(Redo)操作,也可以考虑使用命令模式。
--------------------------------------------------------------------------------
/article/design_patterns/设计模式-Composite.md:
--------------------------------------------------------------------------------
1 | # Composite(组合模式) #
2 | ## 概述 ##
3 | 组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。
4 |
5 | 组合模式依据树形结构来组合对象,用来表示部分以及整体层次。 这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。
6 | 这种模式创建了一个包含自己对象组的类。 该类提供了修改相同对象组的方式。
7 |
8 | ## 使用 ##
9 | ### 示例 ###
10 | 我们来模拟一个树。
11 |
12 | ### 实现 ###
13 | 1. 首先创建一个节点
14 | ```Java
15 | public class TreeNode {
16 |
17 | private String name;
18 |
19 | private TreeNode parent;
20 |
21 | private Vector children = new Vector<>();
22 |
23 | public TreeNode(String name) {
24 | this.name = name;
25 | }
26 |
27 | public String getName() {
28 | return name;
29 | }
30 |
31 | public TreeNode getParent() {
32 | return parent;
33 | }
34 |
35 | public void setParent(TreeNode parent) {
36 | this.parent = parent;
37 | }
38 |
39 | public void addChildren(TreeNode node){
40 | children.add(node);
41 | }
42 |
43 | public void removeChildren(TreeNode node){
44 | children.remove(node);
45 | }
46 |
47 | public Vector getChildren() {
48 | return children;
49 | }
50 | }
51 | ```
52 | 2. 测试
53 | ```Java
54 | public class CompositeTest {
55 |
56 | @Test
57 | public void testComposite() {
58 |
59 | TreeNode root=new TreeNode("root");
60 |
61 | TreeNode nodeA=new TreeNode("A");
62 | TreeNode nodeB=new TreeNode("B");
63 |
64 | nodeA.addChildren(nodeB);
65 | root.addChildren(nodeA);
66 | }
67 | }
68 | ```
69 |
70 | ## 使用场景 ##
71 | 将多个对象组合在一起进行操作,常用于表示树形结构中,例如二叉树,树形菜单,文件、文件夹的管理。
72 |
73 | ## 主要解决 ##
74 | 它在我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。
75 |
76 | ## 优点 ##
77 | 1. 高层模块调用简单。
78 | 2. 节点自由增加。
79 | ## 缺点 ##
80 | 在使用组合模式时,其叶子和树枝的声明都是实现类,而不是接口,违反了依赖倒置原则。
81 |
82 | ## 注意事项 ##
83 | 定义时为具体类。
--------------------------------------------------------------------------------
/article/design_patterns/设计模式-Facade.md:
--------------------------------------------------------------------------------
1 | # Facade(外观模式) #
2 | ## 概述 ##
3 | 外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。 这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。
4 |
5 | 这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。
6 |
7 | ## 使用 ##
8 | ### 示例 ###
9 | 模拟电脑开机关机过程。
10 |
11 | ### 实现 ###
12 | 1. 创建CPU
13 | ```Java
14 | public class CPU {
15 |
16 | public void startup(){
17 | System.out.println("cpu startup!");
18 | }
19 |
20 | public void shutdown(){
21 | System.out.println("cpu shutdown!");
22 | }
23 | }
24 | ```
25 | 2. 创建内存
26 | ```Java
27 | public class Memory {
28 |
29 | public void startup(){
30 | System.out.println("memory startup!");
31 | }
32 |
33 | public void shutdown(){
34 | System.out.println("memory shutdown!");
35 | }
36 | }
37 | ```
38 | 3. 创建硬盘
39 | ```Java
40 | public class Disk {
41 |
42 | public void startup(){
43 | System.out.println("disk startup!");
44 | }
45 |
46 | public void shutdown(){
47 | System.out.println("disk shutdown!");
48 | }
49 | }
50 | ```
51 | 5. 创建电脑
52 | ```Java
53 | public class Computer {
54 |
55 | private CPU cpu;
56 | private Memory memory;
57 | private Disk disk;
58 |
59 | public Computer() {
60 | cpu = new CPU();
61 | memory = new Memory();
62 | disk = new Disk();
63 | }
64 |
65 | public void startup() {
66 | System.out.println("start the computer!");
67 | cpu.startup();
68 | memory.startup();
69 | disk.startup();
70 | System.out.println("start computer finished!");
71 | }
72 |
73 | public void shutdown() {
74 | System.out.println("begin to close the computer!");
75 | cpu.shutdown();
76 | memory.shutdown();
77 | disk.shutdown();
78 | System.out.println("computer closed!");
79 | }
80 | }
81 | ```
82 | 4. 测试
83 | ```Java
84 | public class FacadeTest {
85 |
86 | @Test
87 | public void testFacade() {
88 |
89 | Computer computer = new Computer();
90 | computer.startup();
91 | computer.shutdown();
92 | }
93 | }
94 | ```
95 |
96 | > 可以看出,通过外观模式,用户只需要知道开机关机操作即可,至于CPU,内存,硬盘是怎么工作的并不需要知道。
97 |
98 | ## 使用场景 ##
99 | 1. 为复杂的模块或子系统提供外界访问的模块。
100 | 2. 子系统相对独立。
101 | 3. 预防低水平人员带来的风险。
102 |
103 | ## 主要解决 ##
104 | 降低访问复杂系统的内部子系统时的复杂度,简化客户端与之的接口。
105 |
106 | ## 优点 ##
107 | 1. 减少系统相互依赖。
108 | 2. 提高灵活性。
109 | 3. 提高了安全性。
110 |
111 | ## 缺点 ##
112 | 不符合开闭原则,如果要改东西很麻烦,继承重写都不合适。
113 |
114 | ## 注意事项 ##
115 | 在层次化结构中,可以使用外观模式定义系统中每一层的入口。
--------------------------------------------------------------------------------
/article/design_patterns/设计模式-Factory.md:
--------------------------------------------------------------------------------
1 | # Factory(工厂模式) #
2 | ## 概述 ##
3 | 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。 这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
4 |
5 | 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。
6 |
7 | ## 使用 ##
8 | ### 示例 ###
9 | 比如说我们开了一家超市,需要采购辣条,于是我们找到了辣条工厂来采购辣条。 我们并不需要知道辣条是怎么生产出来的,只需要提供所需要的种类,他们生产出来就行了。
10 |
11 | ### 实现 ###
12 | 1. 首先创建一个辣条类
13 | ```Java
14 | public interface HotStrip {
15 | void info();//用于输出辣条信息
16 | }
17 | ```
18 | 2. 然后实现不同种类的辣条
19 | - 实现大面筋辣条
20 | ```Java
21 | public class BigHotStrip implements HotStrip {
22 |
23 | @Override
24 | public void info() {
25 | System.out.println("这是大面筋!");
26 | }
27 | }
28 | ```
29 | - 实现亲嘴烧辣条
30 | ```Java
31 | public class KissHotStrip implements HotStrip{
32 |
33 | @Override
34 | public void info() {
35 | System.out.println("这是亲嘴烧!");
36 | }
37 | }
38 | ```
39 | 3. 然后创建一个工厂类用于生产辣条
40 | ```Java
41 | public class HotStripFactory {
42 |
43 | public HotStrip produce(String type) {
44 | if ("kiss".equals(type)) {
45 | return new KissHotStrip();
46 | } else if ("big".equals(type)) {
47 | return new BigHotStrip();
48 | }
49 | return null;
50 | }
51 | }
52 | ```
53 | 4. 最后模拟采购流程
54 | ```Java
55 | public class FactoryTest {
56 |
57 | @Test
58 | public void testHotStrip() {
59 | HotStripFactory factory = new HotStripFactory();
60 | HotStrip hotStrip = factory.produce("kiss");//需要亲嘴烧时传入kiss
61 | // hotStrip = factory.produce("big");//需要大面筋时传入big
62 | hotStrip.info();
63 | }
64 | }
65 | ```
66 | > 可以看出客户并不知道工厂内部是怎么生产的辣条,只需要传入类型即可得到所需要的辣条。
67 |
68 | ## 使用场景 ##
69 | 1. 日志记录器:记录可能记录到本地硬盘、系统事件、远程服务器等,用户可以选择记录日志到什么地方。
70 | 2. 数据库访问,当用户不知道最后系统采用哪一类数据库,以及数据库可能有变化时。
71 | 3. 设计一个连接服务器的框架,需要三个协议,"POP3"、"IMAP"、"HTTP",可以把这三个作为产品类,共同实现一个接口。
72 |
73 | ## 优点 ##
74 | 1. 一个调用者想创建一个对象,只要知道其名称就可以了。
75 | 2. 扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以。
76 | 3. 屏蔽产品的具体实现,调用者只关心产品的接口。
77 | ## 缺点 ##
78 | 每次增加一个产品时,都需要增加一个具体类和对象实现工厂,使得系统中类的个数成倍增加,在一定程度上增加了系统的复杂度,同时也增加了系统具体类的依赖。 这并不是什么好事。
79 |
80 | ## 注意事项 ##
81 | 作为一种创建类模式,在任何需要生成复杂对象的地方,都可以使用工厂方法模式。有一点需要注意的地方就是复杂对象适合使用工厂模式,而简单对象,特别是只需要通过 new 就可以完成创建的对象,无需使用工厂模式。如果使用工厂模式,就需要引入一个工厂类,会增加系统的复杂度。
--------------------------------------------------------------------------------
/article/design_patterns/设计模式-Mediator.md:
--------------------------------------------------------------------------------
1 | # Mediator(中介者模式) #
2 | ## 概述 ##
3 | 中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。 这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。 中介者模式属于行为型模式。
4 |
5 | ## 使用 ##
6 | ### 示例 ###
7 | 我们来模拟一下,通过中介租房的过程。
8 |
9 | ### 实现 ###
10 | 1. 创建一个需要租房的人
11 | ```Java
12 | public class Person {
13 |
14 | private String name;
15 |
16 | public Person(String name) {
17 | this.name = name;
18 | }
19 |
20 | public String getName() {
21 | return name;
22 | }
23 |
24 | public void lease() {
25 | System.out.println(getName() + ":我想租房!");
26 | }
27 | }
28 | ```
29 | 2. 创建房东
30 | ```Java
31 | public class Landlord {
32 |
33 | private String name;
34 |
35 | public Landlord(String name) {
36 | this.name = name;
37 | }
38 |
39 | public String getName() {
40 | return name;
41 | }
42 |
43 | public void hire() {
44 | System.out.println(getName() + ":我想把房子租出去!");
45 | }
46 |
47 | }
48 | ```
49 | 3. 创建中介负责把房东的房子租给租户
50 | ```Java
51 | public class Mediator {
52 |
53 | public void handle(Person person, Landlord landlord) {
54 | person.lease();
55 | landlord.hire();
56 | System.out.println("中介将" + landlord.getName() + "的房子租给了" + person.getName());
57 | }
58 |
59 | }
60 | ```
61 | 4. 测试
62 | ```Java
63 | public class MediatorTest {
64 |
65 | @Test
66 | public void testMediator() {
67 | Person person = new Person("张三");
68 | Landlord landlord = new Landlord("李四");
69 |
70 | Mediator mediator = new Mediator();
71 | mediator.handle(person, landlord);
72 |
73 | }
74 | }
75 | ```
76 |
77 | 5. 输出
78 | ```Java
79 | 03-23 13:23:39.911 10396-10417/com.jeanboy.app.designpatterns I/System.out: 张三:我想租房!
80 | 03-23 13:23:39.911 10396-10417/com.jeanboy.app.designpatterns I/System.out: 李四:我想把房子租出去!
81 | 03-23 13:23:39.911 10396-10417/com.jeanboy.app.designpatterns I/System.out: 中介将李四的房子租给了张三
82 | ```
83 |
84 | > 通过输出信息可以看出,通过中介将房东李四的房子租给了张三。
85 |
86 | ## 使用场景 ##
87 | 1. 系统中对象之间存在比较复杂的引用关系,导致它们之间的依赖关系结构混乱而且难以复用该对象。
88 | 2. 想通过一个中间类来封装多个类中的行为,而又不想生成太多的子类。
89 |
90 | ## 主要解决 ##
91 | 对象与对象之间存在大量的关联关系,这样势必会导致系统的结构变得很复杂,同时若一个对象发生改变,我们也需要跟踪与之相关联的对象,同时做出相应的处理。
92 |
93 | ## 优点 ##
94 | 1. 降低了类的复杂度,将一对多转化成了一对一。
95 | 2. 各个类之间的解耦。
96 | 3. 符合迪米特原则。
97 |
98 | ## 缺点 ##
99 | 中介者会庞大,变得复杂难以维护。
100 |
101 | ## 注意事项 ##
102 | 不应当在职责混乱的时候使用。
--------------------------------------------------------------------------------
/article/design_patterns/设计模式-Memento.md:
--------------------------------------------------------------------------------
1 | # Memento(备忘录模式) #
2 | ## 概述 ##
3 | 备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。备忘录模式属于行为型模式。
4 |
5 | ## 使用 ##
6 |
7 | ### 实现 ###
8 | 1. 创建一个原始类
9 | ```Java
10 | public class Original {
11 |
12 | private String value;
13 |
14 | public String getValue() {
15 | return value;
16 | }
17 |
18 | public void setValue(String value) {
19 | this.value = value;
20 | }
21 |
22 | public Original(String value) {
23 | this.value = value;
24 | }
25 |
26 | public Memento createMemento(){
27 | return new Memento(value);
28 | }
29 |
30 | public void restoreMemento(Memento memento){
31 | this.value = memento.getValue();
32 | }
33 | }
34 | ```
35 | 2. 创建备忘录类和存储类
36 | ```Java
37 | public class Memento {
38 |
39 | private String value;
40 |
41 | public Memento(String value) {
42 | this.value = value;
43 | }
44 |
45 | public String getValue() {
46 | return value;
47 | }
48 |
49 | public void setValue(String value) {
50 | this.value = value;
51 | }
52 | }
53 | ```
54 | ```Java
55 | public class Storage {
56 |
57 | private Memento memento;
58 |
59 | public Storage(Memento memento) {
60 | this.memento = memento;
61 | }
62 |
63 | public Memento getMemento() {
64 | return memento;
65 | }
66 |
67 | public void setMemento(Memento memento) {
68 | this.memento = memento;
69 | }
70 | }
71 | ```
72 | 3. 测试
73 | ```Java
74 | public class MementoTest {
75 |
76 | @Test
77 | public void testMemento() {
78 |
79 | // 创建原始类
80 | Original origi = new Original("egg");
81 |
82 | // 创建备忘录
83 | Storage storage = new Storage(origi.createMemento());
84 |
85 | // 修改原始类的状态
86 | System.out.println("初始化状态为:" + origi.getValue());
87 | origi.setValue("niu");
88 | System.out.println("修改后的状态为:" + origi.getValue());
89 |
90 | // 回复原始类的状态
91 | origi.restoreMemento(storage.getMemento());
92 | System.out.println("恢复后的状态为:" + origi.getValue());
93 | }
94 | }
95 | ```
96 |
97 | ## 使用场景 ##
98 | 1. 后悔药。
99 | 2. 打游戏时的存档。
100 | 3. Windows 里的 ctri + z。
101 | 4. IE 中的后退。
102 | 5. 数据库的事务管理。
103 |
104 | ## 主要解决 ##
105 | 所谓备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。
106 |
107 | ## 优点 ##
108 | 1. 给用户提供了一种可以恢复状态的机制,可以使用户能够比较方便地回到某个历史的状态。
109 | 2. 实现了信息的封装,使得用户不需要关心状态的保存细节。
110 |
111 | ## 缺点 ##
112 | 消耗资源。如果类的成员变量过多,势必会占用比较大的资源,而且每一次保存都会消耗一定的内存。
113 |
114 | ## 注意事项 ##
115 | 1. 为了符合迪米特原则,还要增加一个管理备忘录的类。
116 | 2. 为了节约内存,可使用原型模式+备忘录模式。
--------------------------------------------------------------------------------
/article/design_patterns/设计模式-Prototype.md:
--------------------------------------------------------------------------------
1 | # Prototype(原型模式) #
2 | ## 概述 ##
3 | 原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。 这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
4 |
5 | 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。 当直接创建对象的代价比较大时,则采用这种模式。
6 |
7 | 例如,一个对象需要在一个高代价的数据库操作之后被创建。 我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。
8 |
9 | ## 使用 ##
10 |
11 | ### 实现 ###
12 | 创建原型类
13 | ```Java
14 | public class Prototype implements Cloneable, Serializable {
15 |
16 | private static final long serialVersionUID = 1L;
17 | private String string;
18 |
19 | private SerializableObject obj;
20 |
21 | /* 浅复制 */
22 | public Object clone() throws CloneNotSupportedException {
23 | Prototype proto = (Prototype) super.clone();
24 | return proto;
25 | }
26 |
27 | /* 深复制 */
28 | public Object deepClone() throws IOException, ClassNotFoundException {
29 |
30 | /* 写入当前对象的二进制流 */
31 | ByteArrayOutputStream bos = new ByteArrayOutputStream();
32 | ObjectOutputStream oos = new ObjectOutputStream(bos);
33 | oos.writeObject(this);
34 |
35 | /* 读出二进制流产生的新对象 */
36 | ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
37 | ObjectInputStream ois = new ObjectInputStream(bis);
38 | return ois.readObject();
39 | }
40 |
41 | public String getString() {
42 | return string;
43 | }
44 |
45 | public void setString(String string) {
46 | this.string = string;
47 | }
48 |
49 | public SerializableObject getObj() {
50 | return obj;
51 | }
52 |
53 | public void setObj(SerializableObject obj) {
54 | this.obj = obj;
55 | }
56 |
57 | }
58 |
59 | class SerializableObject implements Serializable {
60 | private static final long serialVersionUID = 1L;
61 | }
62 | ```
63 |
64 | > 浅复制:将一个对象复制后,基本数据类型的变量都会重新创建,而引用类型,指向的还是原对象所指向的。
65 | >
66 | > 深复制:将一个对象复制后,不论是基本数据类型还有引用类型,都是重新创建的。 简单来说,就是深复制进行了完全彻底的复制,而浅复制不彻底。
67 |
68 | ## 使用场景 ##
69 | 1. 资源优化场景。
70 | 2. 类初始化需要消化非常多的资源,这个资源包括数据、硬件资源等。
71 | 3. 性能和安全要求的场景。
72 | 4. 通过 new 产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式。
73 | 5. 一个对象多个修改者的场景。
74 | 6. 一个对象需要提供给其他对象访问,而且各个调用者可能都需要修改其值时,可以考虑使用原型模式拷贝多个对象供调用者使用。
75 | 7. 在实际项目中,原型模式很少单独出现,一般是和工厂方法模式一起出现,通过 clone 的方法创建一个对象,然后由工厂方法提供给调用者。原型模式已经与 Java 融为浑然一体,大家可以随手拿来使用。
76 |
77 | ## 优点 ##
78 | 1. 性能提高。
79 | 2. 逃避构造函数的约束。
80 |
81 | ## 缺点 ##
82 | 1. 配备克隆方法需要对类的功能进行通盘考虑,这对于全新的类不是很难,但对于已有的类不一定很容易,特别当一个类引用不支持串行化的间接对象,或者引用含有循环结构的时候。
83 | 2. 必须实现 Cloneable 接口。
84 |
85 | ## 注意事项 ##
86 | 与通过对一个类进行实例化来构造新对象不同的是,原型模式是通过复制一个现有对象生成新对象的。 浅复制实现 Cloneable,重写,深复制是通过实现 Serializable 读取二进制流。
--------------------------------------------------------------------------------
/article/design_patterns/设计模式-Proxy.md:
--------------------------------------------------------------------------------
1 | # Proxy(代理模式) #
2 | ## 概述 ##
3 | 在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。 这种类型的设计模式属于结构型模式。
4 |
5 | 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。
6 |
7 | ## 使用 ##
8 |
9 | ### 实现 ###
10 | 1. 直接看代码
11 | ```Java
12 | public interface Sourceable {
13 | public void method();
14 | }
15 | ```
16 | ```Java
17 | public class Source implements Sourceable {
18 |
19 | @Override
20 | public void method() {
21 | System.out.println("the original method!");
22 | }
23 | }
24 | ```
25 | ```Java
26 | public class Proxy implements Sourceable {
27 |
28 | private Source source;
29 | public Proxy(){
30 | super();
31 | this.source = new Source();
32 | }
33 | @Override
34 | public void method() {
35 | before();
36 | source.method();
37 | atfer();
38 | }
39 | private void atfer() {
40 | System.out.println("after proxy!");
41 | }
42 | private void before() {
43 | System.out.println("before proxy!");
44 | }
45 | }
46 | ```
47 | 2. 测试
48 | ```Java
49 | public class ProxyTest {
50 |
51 | @Test
52 | public void testFacade() {
53 |
54 | Sourceable source = new Proxy();
55 | source.method();
56 | }
57 | }
58 | ```
59 |
60 | ## 使用场景 ##
61 | 按职责来划分,通常有以下使用场景:
62 | 1. 远程代理。
63 | 2. 虚拟代理。
64 | 3. Copy-on-Write 代理。
65 | 4. 保护(Protect or Access)代理。
66 | 5. Cache代理。
67 | 6. 防火墙(Firewall)代理。
68 | 7. 同步化(Synchronization)代理。
69 | 8. 智能引用(Smart Reference)代理。
70 |
71 | ## 主要解决 ##
72 | 在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。 在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层。
73 |
74 | ## 优点 ##
75 | 1. 职责清晰。
76 | 2. 高扩展性。
77 | 3. 智能化。
78 |
79 | ## 缺点 ##
80 | 1. 由于在客户端和真实主题之间增加了代理对象,因此有些类型的代理模式可能会造成请求的处理速度变慢。
81 | 2. 实现代理模式需要额外的工作,有些代理模式的实现非常复杂。
82 |
83 | ## 注意事项 ##
84 | 1. 和适配器模式的区别:适配器模式主要改变所考虑对象的接口,而代理模式不能改变所代理类的接口。
85 | 2. 和装饰器模式的区别:装饰器模式为了增强功能,而代理模式是为了加以控制。
--------------------------------------------------------------------------------
/article/design_patterns/设计模式-State.md:
--------------------------------------------------------------------------------
1 | # State(状态模式) #
2 | ## 概述 ##
3 | 在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。
4 |
5 | 在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。
6 |
7 | ## 使用 ##
8 |
9 | ### 实现 ###
10 | 1. 创建一个接口
11 | ```Java
12 | public interface State {
13 |
14 | void doAction(Target target);
15 | }
16 | ```
17 | 2. 创建实现接口的实体类
18 | ```Java
19 | public class StartState implements State {
20 |
21 |
22 | @Override
23 | public void doAction(Target target) {
24 | System.out.println("设置状态为start");
25 | target.setState(this);
26 | }
27 |
28 | @Override
29 | public String toString() {
30 | return "StartState";
31 | }
32 | }
33 | ```
34 | ```Java
35 | public class StopState implements State {
36 |
37 |
38 | @Override
39 | public void doAction(Target target) {
40 | System.out.println("设置状态为stop");
41 | target.setState(this);
42 | }
43 |
44 | @Override
45 | public String toString() {
46 | return "StopState";
47 | }
48 | }
49 | ```
50 | 3. 创建 Target 类
51 | ```Java
52 | public class Target {
53 |
54 | private State state;
55 |
56 | public Target() {
57 | state = null;
58 | }
59 |
60 | public State getState() {
61 | return state;
62 | }
63 |
64 | public void setState(State state) {
65 | this.state = state;
66 | }
67 | }
68 | ```
69 | 4. 使用 Target 来查看当状态 State 改变时的行为变化
70 | ```Java
71 | public class StateTest {
72 |
73 | @Test
74 | public void testObserver(){
75 | Target target=new Target();
76 |
77 | StartState startState=new StartState();
78 | startState.doAction(target);
79 |
80 | StopState stopState=new StopState();
81 | stopState.doAction(target);
82 |
83 | System.out.println(target.getState().toString());
84 | }
85 | }
86 | ```
87 |
88 | 5. 输出
89 | ```Java
90 | 03-23 14:04:02.751 25649-25676/? I/System.out: 设置状态为start
91 | 03-23 14:04:02.751 25649-25676/? I/System.out: 设置状态为stop
92 | 03-23 14:04:02.751 25649-25676/? I/System.out: StopState
93 | ```
94 |
95 | ## 使用场景 ##
96 | 1. 行为随状态改变而改变的场景。
97 | 2. 条件、分支语句的代替者。
98 |
99 | ## 主要解决 ##
100 | 对象的行为依赖于它的状态(属性),并且可以根据它的状态改变而改变它的相关行为。
101 |
102 | 条件、分支语句的代替者(相当于if..else if...)。
103 |
104 | ## 优点 ##
105 | 1. 封装了转换规则。
106 | 2. 枚举可能的状态,在枚举状态之前需要确定状态种类。
107 | 3. 将所有与某个状态有关的行为放到一个类中,并且可以方便地增加新的状态,只需要改变对象状态即可改变对象的行为。
108 | 4. 允许状态转换逻辑与状态对象合成一体,而不是某一个巨大的条件语句块。
109 | 5. 可以让多个环境对象共享一个状态对象,从而减少系统中对象的个数。
110 |
111 | ## 缺点 ##
112 | 1. 状态模式的使用必然会增加系统类和对象的个数。
113 | 2. 状态模式的结构与实现都较为复杂,如果使用不当将导致程序结构和代码的混乱。
114 | 3. 状态模式对"开闭原则"的支持并不太好,对于可以切换状态的状态模式,增加新的状态类需要修改那些负责状态转换的源代码,否则无法切换到新增状态,而且修改某个状态类的行为也需修改对应类的源代码。
115 |
116 | ## 注意事项 ##
117 | 在行为受状态约束的时候使用状态模式,而且状态不超过 5 个。
--------------------------------------------------------------------------------
/article/design_patterns/设计模式-Strategy.md:
--------------------------------------------------------------------------------
1 | # Strategy(策略模式) #
2 | ## 概述 ##
3 | 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。 这种类型的设计模式属于行为型模式。
4 |
5 | ## 使用 ##
6 |
7 | ### 实现 ###
8 | 1. 创建一个接口
9 | ```Java
10 | public interface Strategy {
11 |
12 | int doOperation(int num1, int num2);
13 | }
14 | ```
15 | 2. 创建实现接口的实体类
16 | ```Java
17 | public class OperationAdd implements Strategy {
18 |
19 | @Override
20 | public int doOperation(int num1, int num2) {
21 | return num1 + num2;
22 | }
23 | }
24 | ```
25 | ```Java
26 | public class OperationSubstract implements Strategy {
27 |
28 | @Override
29 | public int doOperation(int num1, int num2) {
30 | return num1 - num2;
31 | }
32 | }
33 | ```
34 | ```Java
35 | public class OperationMultiply implements Strategy {
36 |
37 | @Override
38 | public int doOperation(int num1, int num2) {
39 | return num1 * num2;
40 | }
41 | }
42 | ```
43 | 3. 创建 Target 类
44 | ```Java
45 | public class Target {
46 |
47 | private Strategy strategy;
48 |
49 | public Target(Strategy strategy) {
50 | this.strategy = strategy;
51 | }
52 |
53 | public int executeStrategy(int num1, int num2) {
54 | return strategy.doOperation(num1, num2);
55 | }
56 | }
57 | ```
58 | 4. 测试
59 | ```Java
60 | public class StrategyTest {
61 |
62 | @Test
63 | public void testStrategy(){
64 | Target target = new Target(new OperationAdd());
65 | System.out.println("10 + 5 = " + target.executeStrategy(10, 5));
66 |
67 | target = new Target(new OperationSubstract());
68 | System.out.println("10 - 5 = " + target.executeStrategy(10, 5));
69 |
70 | target = new Target(new OperationMultiply());
71 | System.out.println("10 * 5 = " + target.executeStrategy(10, 5));
72 | }
73 | }
74 | ```
75 |
76 | 5. 输出
77 | ```Java
78 | 03-23 14:22:07.791 26691-26715/? I/System.out: 10 + 5 = 15
79 | 03-23 14:22:07.791 26691-26715/? I/System.out: 10 - 5 = 5
80 | 03-23 14:22:07.791 26691-26715/? I/System.out: 10 * 5 = 50
81 | ```
82 |
83 | ## 使用场景 ##
84 | 1. 如果在一个系统里面有许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动态地让一个对象在许多行为中选择一种行为。
85 | 2. 一个系统需要动态地在几种算法中选择一种。
86 | 3. 如果一个对象有很多的行为,如果不用恰当的模式,这些行为就只好使用多重的条件选择语句来实现。
87 |
88 | ## 主要解决 ##
89 | 在有多种算法相似的情况下,使用 if...else 所带来的复杂和难以维护。
90 |
91 | ## 优点 ##
92 | 1. 算法可以自由切换。
93 | 2. 避免使用多重条件判断。
94 | 3. 扩展性良好。
95 |
96 | ## 缺点 ##
97 | 1. 策略类会增多。
98 | 2. 所有策略类都需要对外暴露。
99 |
100 | ## 注意事项 ##
101 | 如果一个系统的策略多于4个,就需要考虑使用混合模式,解决策略类膨胀的问题。
--------------------------------------------------------------------------------
/article/design_patterns/设计模式-Template_Method.md:
--------------------------------------------------------------------------------
1 | # Template Method(模板方法模式) #
2 | ## 概述 ##
3 | 在模板方法模式(Template Method Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。 它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。
4 |
5 | ## 使用 ##
6 |
7 | ### 实现 ###
8 | 1. 抽象模板角色类
9 | ```Java
10 | public abstract class AbstractTemplate {
11 | /**
12 | * 模板方法
13 | */
14 | public void templateMethod(){
15 | //调用基本方法
16 | abstractMethod();
17 | hookMethod();
18 | concreteMethod();
19 | }
20 | /**
21 | * 基本方法的声明(由子类实现)
22 | */
23 | protected abstract void abstractMethod();
24 | /**
25 | * 基本方法(空方法)
26 | */
27 | protected void hookMethod(){}
28 | /**
29 | * 基本方法(已经实现)
30 | */
31 | private final void concreteMethod(){
32 | //业务相关的代码
33 | }
34 | }
35 | ```
36 | 2. 具体模板角色类,实现了父类所声明的基本方法
37 | ```Java
38 | public class ConcreteTemplate extends AbstractTemplate{
39 |
40 | //基本方法的实现
41 | @Override
42 | public void abstractMethod() {
43 | //业务相关的代码
44 | }
45 | //重写父类的方法
46 | @Override
47 | public void hookMethod() {
48 | //业务相关的代码
49 | }
50 | }
51 | ```
52 |
53 | ## 使用场景 ##
54 | 1. 有多个子类共有的方法,且逻辑相同。
55 | 2. 重要的、复杂的方法,可以考虑作为模板方法。
56 |
57 | ## 主要解决 ##
58 | 一些方法通用,却在每一个子类都重新写了这一方法。
59 |
60 | ## 优点 ##
61 | 1. 封装不变部分,扩展可变部分。
62 | 2. 提取公共代码,便于维护。
63 | 3. 行为由父类控制,子类实现。
64 |
65 | ## 缺点 ##
66 | 每一个不同的实现都需要一个子类来实现,导致类的个数增加,使得系统更加庞大。
67 |
68 | ## 注意事项 ##
69 | 为防止恶意操作,一般模板方法都加上 final 关键词。
--------------------------------------------------------------------------------
/article/design_patterns/设计模式-Visitor.md:
--------------------------------------------------------------------------------
1 | # Visitor(访问者模式) #
2 | ## 概述 ##
3 | 在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。 通过这种方式,元素的执行算法可以随着访问者改变而改变。 这种类型的设计模式属于行为型模式。
4 |
5 | ## 使用 ##
6 |
7 | ### 实现 ###
8 | 1. 创建一个Visitor类,存放要访问的对象
9 | ```Java
10 | public interface Visitor {
11 |
12 | public void visit(Subject sub);
13 | }
14 | ```
15 | ```Java
16 | public class MyVisitor implements Visitor {
17 |
18 | @Override
19 | public void visit(Subject sub) {
20 | System.out.println("visit the subject:"+sub.getSubject());
21 | }
22 | }
23 | ```
24 | 2. Subject类,accept方法,接受将要访问它的对象,getSubject()获取将要被访问的属性
25 | ```Java
26 | public interface Subject {
27 |
28 | public void accept(Visitor visitor);
29 |
30 | public String getSubject();
31 | }
32 | ```
33 | ```Java
34 | public class MySubject implements Subject {
35 |
36 | @Override
37 | public void accept(Visitor visitor) {
38 | visitor.visit(this);
39 | }
40 |
41 | @Override
42 | public String getSubject() {
43 | return "love";
44 | }
45 | }
46 | ```
47 | 3. 测试
48 | ```Java
49 | public class VisitorTest {
50 |
51 | @Test
52 | public void testVisitor() {
53 |
54 | Visitor visitor = new MyVisitor();
55 | Subject sub = new MySubject();
56 | sub.accept(visitor);
57 | }
58 | }
59 | ```
60 |
61 | ## 使用场景 ##
62 | 1. 对象结构中对象对应的类很少改变,但经常需要在此对象结构上定义新的操作。
63 | 2. 需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而需要避免让这些操作"污染"这些对象的类,也不希望在增加新操作时修改这些类。
64 |
65 | ## 主要解决 ##
66 | 稳定的数据结构和易变的操作耦合问题。
67 |
68 | ## 优点 ##
69 | 1. 符合单一职责原则。
70 | 2. 优秀的扩展性。
71 | 3. 灵活性。
72 |
73 | ## 缺点 ##
74 | 1. 具体元素对访问者公布细节,违反了迪米特原则。
75 | 2. 具体元素变更比较困难。
76 | 3. 违反了依赖倒置原则,依赖了具体类,没有依赖抽象。
77 |
78 | ## 注意事项 ##
79 | 访问者可以对功能进行统一,可以做报表、UI、拦截器与过滤器。
--------------------------------------------------------------------------------
/article/empty.md:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/article/interview/数据结构与算法.md:
--------------------------------------------------------------------------------
1 | # 数据结构与算法
2 |
3 | ### 时间复杂度,空间复杂度
4 |
5 | ### 遍历二叉树
6 |
7 | ### 简单的算法:打印 100 以内的所有质数
8 |
9 | -------
10 |
11 | ```Java
12 |
13 | public static void main(String[] args){
14 | System.out.println(2);
15 | System.out.println(3);
16 | System.out.println(5);
17 | System.out.println(7);
18 | for(int i = 10; i <= 100; i++){
19 | if(i%2 != 0 && i%3 != 0 && i%5 != 0 && i%7 != 0){
20 | System.out.println(i);
21 | }
22 | }
23 | }
24 | ```
25 |
26 | ### 10 万个整数中找出排序后的前 10 个数(Top N 问题,或重复的数),及其对应算法复杂度
27 |
28 | -------
29 |
30 | 1. 快速排序:O(nlogn)
31 | 2. 局部淘汰法:用一个容器存放 10 个数,遍历对比放入,最后容器里面的就是所求的数。O(n+m^2)
32 | 3. 分治法:分成例如:100份,找到每份最大的 10 个数,然后对 100 份比较。
33 | 4. Hash 去重
34 | 5. 最小堆:O(nmlogm)
35 |
36 | ### 堆排序的实现,算法复杂度
37 |
38 | -------
39 |
40 | ### 冒泡排序
41 |
42 | -------
43 |
44 | ```Java
45 | public static void bubbleSort(int [] arr){
46 | int j , k;
47 | int flag = arr.length ;//flag来记录最后交换的位置,也就是排序的尾边界
48 |
49 | while (flag > 0){//排序未结束标志
50 | k = flag; //k 来记录遍历的尾边界
51 | flag = 0;
52 |
53 | for(j = 1; j < k; j++){
54 | if(arr[j - 1] > arr[j]){//前面的数字大于后面的数字就交换
55 | //交换a[j-1]和a[j]
56 | int temp;
57 | temp = arr[j - 1];
58 | arr[j - 1] = arr[j];
59 | arr[j]=temp;
60 |
61 | //表示交换过数据;
62 | flag = j;//记录最新的尾边界.
63 | }
64 | }
65 | }
66 | }
67 | ```
68 |
69 | ### 快速排序
70 |
71 | ### 快速排序和冒泡的排序,怎么转换一下
72 |
73 |
74 |
75 |
--------------------------------------------------------------------------------
/article/ios/iOS-Controller介绍.md:
--------------------------------------------------------------------------------
1 | # ViewController
2 | ## 什么是 Controller ?
3 | ## 对比 Android
4 | ## 怎么使用
5 |
6 | ## 概述
7 | ViewController(视图控制器),在 iOS 中,不同的视图控制器负责不同的功能,采用不同的风格向用户呈现信息。
8 |
9 |
10 |
--------------------------------------------------------------------------------
/article/ios/iOS-常用资源.md:
--------------------------------------------------------------------------------
1 | # iOS 常用资源
2 | ## App 生命周期
3 | - 程序启动顺序
4 |
5 | 1. 点击程序图标
6 | 2. 执行 main() 函数
7 | 3. 调用 UIApplicationMain() 函数
8 | 4. 初始化 UIApplication 对象并设置代理对象
9 | * applicationDidFinishLaunching()//程序载入后
10 | * applicationWillResignActive()//将要进入非活动状态
11 | * applicationDidBecomeActive()//程序进入活动状态
12 | * applicationDidEnterBackground()//程序进入后台
13 | * applicationWillEnterForeground()//程序从后台将要重新进入前台
14 | * applicationDidReceiveMemoryWaring()//内存警告,程序将要终止
15 | * applicationWillTerminate()//程序将要结束
16 | 5. UIApplication 对象开启 Event Loop 监听系统事件
17 | 6. 程序结束退出
18 |
19 | - UIViewController 生命周期
20 |
21 | 1. initWithNibName()//非 storyBoard(xib 或非 xib)都走这个方法
22 | 2. initWithCoder()//如果连接了串联图 storyBoard 走这个方法
23 | 3. awakeFromNib()//xib 加载完成
24 | 4. loadView()//加载视图(默认从 nib)
25 | 5. viewDidLoad()//视图控制器中的视图加载完成,viewController 自带的 view 加载完成
26 | 6. viewWillAppear()//视图将要显示
27 | 7. viewWillLayoutSubviews()//视图将要布局子视图
28 | 8. viewDidLayoutSubviews()//子视图布局完成
29 | 9. viewDidAppear()//视图已经显示
30 | 10. viewWillDisappear()//视图将要消失
31 | 11. viewDidDisappear()//视图已经消失
32 | 12. didReceiveMemoryWarning()//内存警告
33 | 13. dealloc()//视图被销毁
34 |
35 | ## 基础
36 | - UIKit//UI 控件
37 | - xib
38 | - storyboard
39 | - UIApplication
40 | - UIView
41 | - UIViewController
42 | - Foundation//数据结构
43 | ## 网络交互
44 | ## 数据解析
45 | ## 数据存储
46 | App-|-----MyApp.app//包含应用本身数据,包括资源文件和可执行文件,只读不会被 iTunes 同步
47 | |-----Documents//应用数据文件,会被 iTunes 同步
48 | |-----Library/Cache//缓存文件,不会被 iTunes 同步
49 | |-----tmp//临时文件,应用下次启动不需要的文件,随时可能被系统清理
50 |
51 | - UserDefaults(Preference 偏好设置)
52 | - KeyedArchiver(归档)
53 | - SQLite 3
54 | - CoreData(SQLite 的封装)
55 | ## 图片处理
56 | ## 国际化
57 | ## 手机功能
58 | - 定位
59 | - 地图
60 | - 电话
61 | - 短信
62 | - 邮件
63 | - 通讯录
64 | - 相机
65 | - 多媒体
66 | - WebView
67 | - 蓝牙
68 | ## 多线程,多任务,内存管理
69 | - NSThread//手动控制线程
70 | - GCD//苹果多核并行运算解决方案
71 | - NSOperation & NSOperationQueue//GCD 的封装
72 | ## 触摸事件,手势处理,加速器
73 | ## 自定义控件
74 | ## Socket
75 | ## 热门技术
76 | - 支付
77 | - 即时通讯
78 | - OCR
79 | - 人脸识别
80 | - 热修复
81 | - 分享,社会化登录
82 | - 推送服务
83 | - HTML5
84 | ## 项目构建
85 | - CocoaPods
86 | - Swift & Objective-C 混编
87 | - 版本控制 Git
88 | - 单元测试
89 | - 断点测试
90 | ## 开源库
91 | - SnapKit//自动布局
92 | - YYKit//iOS 组件
93 | - MJRefresh//下拉刷新
94 | - MBProgressHUD//loading
95 | - SVProgressHUD//进度提示
96 | - TYAttributedLabel//label 扩展
97 | - FXBlurView//模糊效果
98 | - TPKeyboardAvoiding//自动计算键盘高度
99 | - pop Facebook//动画库
100 | - lottie-ios//动画库
101 | - AFNetworking//网络开源库
102 | - Alamofire//AFNetworking 的 Swift 版本
103 | - SDWebImage//图片处理
104 | - YYWebImage//图片处理
105 | - SwiftyUserDefaults//UserDefaults 封装库
106 | - MagicalRecord//CoreData 封装库
107 |
108 | ## 参考资料
109 | - http://blog.csdn.net/lerryteng/article/details/51207181
110 | - http://www.jianshu.com/p/d60b388b19f5
111 |
112 |
--------------------------------------------------------------------------------
/article/java/basic/Java_IO.md:
--------------------------------------------------------------------------------
1 | # IO
2 |
3 | ## 基本概念
4 |
5 | ### 字节、字符
6 |
7 | ### 编码
8 |
9 | ### 字节流、字符流
10 |
11 | ### 协议
12 |
13 | BIO(Blocking I/O)、NIO(New I/O)、AIO(Asynchronous I/O,NIO 2.0)
14 |
15 | ## 并发编程
16 |
17 | ### 多线程常见知识
18 |
19 | - currentThread():返回代码段正在被哪个线程调用的信息
20 | - getId():获取线程的唯一标识
21 | - isAlive():判断当前线程是否还处于活动状态
22 | - sleep():在指定的毫秒数内让当前“正在执行的线程”休眠(暂停执行)
23 | - ~~stop()~~:【已废弃】停止线程
24 | - interrupt():中断线程
25 | - ~~suspend()~~:【已废弃】暂停线程
26 | - ~~resume()~~:【已废弃】恢复线程
27 | - yield():放弃当前 CPU 资源,将它让给其他任务去占用 CPU 执行时间
28 | - setPriority():设置线程优先级 1 - 10,优先级可以继承
29 |
30 | ### synchronized 关键字
31 |
32 | - 方法锁
33 |
34 | ```java
35 | public synchronized void test() {
36 | //TODO: do something
37 | }
38 | ```
39 |
40 | - 对象锁
41 |
42 | ```java
43 | synchronized (this) {
44 | //TODO: do something
45 | }
46 |
47 | synchronized (object) {
48 | //TODO: do something
49 | }
50 | ```
51 |
52 | - 静态同步方法
53 |
54 | ```java
55 | public static synchronized void test() {
56 | //TODO: do something
57 | }
58 | //相当于
59 | synchronized (class) {
60 | //TODO: do something
61 | }
62 | ```
63 |
64 | ### volatile 关键字
65 |
66 | 主要作用是使变量在多个线程间可见。
67 |
68 | 线程主体 -> 工作内存 -> 主内存
69 |
70 | ### 线程间通讯
71 |
72 | - 等待/通知机制
73 |
74 | - wait():使调用该方法的线程释放共享资源的锁,然后从运行状态退出,进入等待队列,直到被再次唤醒。
75 |
76 | - notify():随机唤醒等待队列中等待同一共享资源的一个线程,并使该线程退出等待队列,进入可运行状态。
77 | - notifyAll():唤醒等待队列中所有正在等待的线程,并使全部线程退出等待队列,进入可运行状态。
78 |
79 | - 生产者与消费者
80 |
81 | - 管道
82 |
83 | - join():将一个线程加入到当前线程中,当前线程会等待加入的线程执行完才会结束。
84 |
85 | - ThreadLocal:
86 |
87 | ### Lock
88 |
89 | - ReentrantLock
90 | - Condition
91 |
92 | ### Timer
93 |
94 | ### Sington
95 |
96 | - 饿汉式
97 | - 懒汉式
98 | - 静态内部类
99 | - static 代码块
100 | - enum 枚举数据类型
101 |
102 | ## 小标题
103 |
104 |
105 |
106 | ## 参考资料
107 |
108 | - [资料标题](http://www.baidu.com)
109 |
110 |
111 |
--------------------------------------------------------------------------------
/article/web_front/WebFront-Vue&BootStrap&jQuery.md:
--------------------------------------------------------------------------------
1 | # Vue & BootStrap & jQuery
2 |
3 | ## 准备
4 |
5 | - [Bootstrap](https://getbootstrap.com/)
6 | - [jQuery](http://jquery.com/)
7 |
8 |
9 | > // 安装 bootstrap 和 jquery
10 | > $ npm install bootstrap jquery --save
11 | >
12 | > // bootstrap 的 dropdown 插件依赖 popper.js
13 | > $ npm install popper.js --save
14 |
15 | 在 `main.js` 里依次载入 jQuery 和 Bootstrap,添加类似如下代码:
16 |
17 | ```JS
18 | import $ from 'jquery'
19 | import 'bootstrap/dist/css/bootstrap.min.css'
20 | import 'bootstrap/dist/js/bootstrap.min.js'
21 | ```
22 |
23 | 此处使用未压缩的版本也是可以的,另外上面的 CSS 和 JS 都可以酌情使用,Bootstrap 的 JS 引入之前必须先引入 jQuery。
24 |
25 | 接着,打开 `build\webpack.base.conf.js` 打包配置,在头部加入
26 |
27 | ```JS
28 | var webpack = require('webpack')
29 | ```
30 |
31 | 接下来添加的配置中因为使用了 webpack 模块,如果不写这个会报错 webpack 未定义。
32 |
33 | 然后在 `build\webpack.base.conf.js` 的 plugins 配置块中,加入 jQuery 配置,整个 webpack.base.conf.js 文件看起来类似这样(部分无关代码已省略):
34 |
35 | ```JS
36 | ...
37 | var webpack = require('webpack');
38 | ...
39 |
40 | module.exports = {
41 | entry: { ... },
42 | output: { ... },
43 | resolve: { ... },
44 | module: { ... },
45 | ...
46 | plugins: [ // 配置全局使用 jquery
47 | new webpack.ProvidePlugin({
48 | $: "jquery",
49 | jQuery: "jquery",
50 | jquery: "jquery",
51 | "window.jQuery": "jquery",
52 | Popper: ['popper.js', 'default']
53 | })
54 | ],
55 | ...
56 | };
57 | ```
58 |
59 | 这样就可以在 Vue 项目中直接使用 $() 了。
60 |
61 | ## 参考资料
62 |
63 | - [vue2.0+webpack 如何使用bootstrap?](https://segmentfault.com/q/1010000007233864)
64 | - [vue引入bootstrap——webpack](https://blog.csdn.net/wild46cat/article/details/77662555)
65 |
66 | ## 我的公众号
67 |
68 | 欢迎你「扫一扫」下面的二维码,关注我的公众号,可以接受最新的文章推送,有丰厚的抽奖活动和福利等着你哦!😍
69 |
70 |
71 |
72 | 如果你有什么疑问或者问题,可以 [点击这里](https://github.com/jeanboydev/Android-ReadTheFuckingSourceCode/issues) 提交 issue,也可以发邮件给我 [jeanboy@foxmail.com](mailto:jeanboy@foxmail.com)。
73 |
74 | 同时欢迎你 [](http://shang.qq.com/wpa/qunwpa?idkey=0b505511df9ead28ec678df4eeb7a1a8f994ea8b75f2c10412b57e667d81b50d) 来一起交流学习,群里有很多大牛和学习资料,相信一定能帮助到你!
--------------------------------------------------------------------------------
/catalog.md:
--------------------------------------------------------------------------------
1 | ## 项目目录结构
2 |
3 | ```json
4 | |- article
5 | |- android
6 | |- 01_xxx.md
7 | |- ...
8 | |- design_patterns
9 | |- git
10 | |- gradle
11 | |- interview
12 | |- ios
13 | |- java
14 | |- basic
15 | |- jvm
16 | |- network
17 | |- web
18 | |- web_front
19 | |- empty.md
20 | |- resources
21 | |- documents
22 | |- images
23 | |- tools
24 | |- visio
25 | |- xmind
26 | |- _template.md
27 | |- catalog.md
28 | |- README.md
29 | ```
30 |
31 |
32 |
--------------------------------------------------------------------------------
/resources/documents/Android多语言对照表.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/documents/Android多语言对照表.xlsx
--------------------------------------------------------------------------------
/resources/documents/Android屏幕适配单位转换.xls:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/documents/Android屏幕适配单位转换.xls
--------------------------------------------------------------------------------
/resources/documents/QuickTools.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/documents/QuickTools.xlsx
--------------------------------------------------------------------------------
/resources/documents/系统EFI原理.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/documents/系统EFI原理.docx
--------------------------------------------------------------------------------
/resources/documents/设计模式总结.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/documents/设计模式总结.xlsx
--------------------------------------------------------------------------------
/resources/images/about_me/qq群.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/about_me/qq群.jpg
--------------------------------------------------------------------------------
/resources/images/about_me/qq群_300.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/about_me/qq群_300.jpg
--------------------------------------------------------------------------------
/resources/images/about_me/qq群_横版.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/about_me/qq群_横版.jpg
--------------------------------------------------------------------------------
/resources/images/about_me/qrcode_android_besos_banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/about_me/qrcode_android_besos_banner.png
--------------------------------------------------------------------------------
/resources/images/about_me/qrcode_android_besos_black_512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/about_me/qrcode_android_besos_black_512.png
--------------------------------------------------------------------------------
/resources/images/about_me/个人二维码_350.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/about_me/个人二维码_350.png
--------------------------------------------------------------------------------
/resources/images/about_me/关于我.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/about_me/关于我.jpg
--------------------------------------------------------------------------------
/resources/images/about_me/微信群.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/about_me/微信群.jpg
--------------------------------------------------------------------------------
/resources/images/about_me/微信群_300.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/about_me/微信群_300.jpg
--------------------------------------------------------------------------------
/resources/images/about_me/微信群_横版.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/about_me/微信群_横版.jpg
--------------------------------------------------------------------------------
/resources/images/about_me/技术社区.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/about_me/技术社区.png
--------------------------------------------------------------------------------
/resources/images/about_me/欢迎投稿.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/about_me/欢迎投稿.png
--------------------------------------------------------------------------------
/resources/images/android/android_activity/activity_start.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_activity/activity_start.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_activity/app_start.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_activity/app_start.png
--------------------------------------------------------------------------------
/resources/images/android/android_activity_window_view/android_activity_window_create.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_activity_window_view/android_activity_window_create.png
--------------------------------------------------------------------------------
/resources/images/android/android_activity_window_view/android_phonewindow_decorview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_activity_window_view/android_phonewindow_decorview.png
--------------------------------------------------------------------------------
/resources/images/android/android_binder/binder_device.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_binder/binder_device.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_binder/binder_main.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_binder/binder_main.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_binder/binder_main_request.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_binder/binder_main_request.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_binder/binder_one_main.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_binder/binder_one_main.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_binder/process_thread.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_binder/process_thread.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_binder/service_manager_add.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_binder/service_manager_add.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_binder/service_manager_get.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_binder/service_manager_get.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_binder/service_manager_start.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_binder/service_manager_start.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_boot_loader/android-booting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_boot_loader/android-booting.png
--------------------------------------------------------------------------------
/resources/images/android/android_boot_loader/android-bootloader.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_boot_loader/android-bootloader.png
--------------------------------------------------------------------------------
/resources/images/android/android_boot_loader/android-process.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_boot_loader/android-process.png
--------------------------------------------------------------------------------
/resources/images/android/android_boot_loader/boot_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_boot_loader/boot_image.png
--------------------------------------------------------------------------------
/resources/images/android/android_download_source/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_download_source/1.png
--------------------------------------------------------------------------------
/resources/images/android/android_download_source/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_download_source/2.png
--------------------------------------------------------------------------------
/resources/images/android/android_download_source/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_download_source/3.png
--------------------------------------------------------------------------------
/resources/images/android/android_download_source/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_download_source/4.png
--------------------------------------------------------------------------------
/resources/images/android/android_download_source/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_download_source/5.png
--------------------------------------------------------------------------------
/resources/images/android/android_download_source/6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_download_source/6.png
--------------------------------------------------------------------------------
/resources/images/android/android_download_source/7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_download_source/7.png
--------------------------------------------------------------------------------
/resources/images/android/android_handler/01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_handler/01.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_handler/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_handler/02.png
--------------------------------------------------------------------------------
/resources/images/android/android_handler/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_handler/03.png
--------------------------------------------------------------------------------
/resources/images/android/android_performance/memory_ast_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/memory_ast_1.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/memory_ast_2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/memory_ast_2.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/memory_ast_3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/memory_ast_3.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/memory_ast_4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/memory_ast_4.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/memory_ast_5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/memory_ast_5.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/memory_leak_test.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/memory_leak_test.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/memory_lint1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/memory_lint1.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/memory_lint2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/memory_lint2.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/memory_lint3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/memory_lint3.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/memory_mat1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/memory_mat1.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/memory_mat2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/memory_mat2.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/memory_mat3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/memory_mat3.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/memory_mat4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/memory_mat4.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/memory_mat5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/memory_mat5.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/memory_mat6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/memory_mat6.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/memory_mat7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/memory_mat7.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/memory_mat8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/memory_mat8.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_android_device_monitor.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_android_device_monitor.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_draw_per_16ms.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_draw_per_16ms.png
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_gpu_16ms.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_gpu_16ms.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_gpu_16ms2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_gpu_16ms2.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_hierarchy_view.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_hierarchy_view.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_hierarchy_view_2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_hierarchy_view_2.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_hierarchy_view_3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_hierarchy_view_3.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_overdraw_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_overdraw_1.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_overdraw_options_view.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_overdraw_options_view.png
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_systrace.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_systrace.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_systrace2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_systrace2.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_systrace3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_systrace3.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_systrace4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_systrace4.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_systrace5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_systrace5.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_tearing_simulated.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_tearing_simulated.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_tracing.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_tracing.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_tracing2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_tracing2.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_tracing3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_tracing3.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_tracing4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_tracing4.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_tracing5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_tracing5.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_tracing6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_tracing6.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_tracing7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_tracing7.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_tracing8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_tracing8.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_tracing9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_tracing9.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_performance/ui_vsync_over_draw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_performance/ui_vsync_over_draw.png
--------------------------------------------------------------------------------
/resources/images/android/android_pkms/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_pkms/01.png
--------------------------------------------------------------------------------
/resources/images/android/android_pkms/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_pkms/02.png
--------------------------------------------------------------------------------
/resources/images/android/android_pkms/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_pkms/03.png
--------------------------------------------------------------------------------
/resources/images/android/android_pkms/04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_pkms/04.png
--------------------------------------------------------------------------------
/resources/images/android/android_pkms/05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_pkms/05.png
--------------------------------------------------------------------------------
/resources/images/android/android_pkms/06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_pkms/06.png
--------------------------------------------------------------------------------
/resources/images/android/android_pkms/07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_pkms/07.png
--------------------------------------------------------------------------------
/resources/images/android/android_pkms/08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_pkms/08.png
--------------------------------------------------------------------------------
/resources/images/android/android_pms_gosleep/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_pms_gosleep/01.png
--------------------------------------------------------------------------------
/resources/images/android/android_pms_gosleep/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_pms_gosleep/02.png
--------------------------------------------------------------------------------
/resources/images/android/android_pms_start/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_pms_start/01.png
--------------------------------------------------------------------------------
/resources/images/android/android_pms_start/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_pms_start/02.png
--------------------------------------------------------------------------------
/resources/images/android/android_pms_wakelock/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_pms_wakelock/01.png
--------------------------------------------------------------------------------
/resources/images/android/android_pms_wakelock/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_pms_wakelock/02.png
--------------------------------------------------------------------------------
/resources/images/android/android_pms_wakeup/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_pms_wakeup/01.png
--------------------------------------------------------------------------------
/resources/images/android/android_pms_wakeup/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_pms_wakeup/02.png
--------------------------------------------------------------------------------
/resources/images/android/android_screens_support/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_screens_support/01.png
--------------------------------------------------------------------------------
/resources/images/android/android_screens_support/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_screens_support/02.png
--------------------------------------------------------------------------------
/resources/images/android/android_screens_support/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_screens_support/03.png
--------------------------------------------------------------------------------
/resources/images/android/android_screens_support/04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_screens_support/04.png
--------------------------------------------------------------------------------
/resources/images/android/android_screens_support/05.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_screens_support/05.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_screens_support/06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_screens_support/06.png
--------------------------------------------------------------------------------
/resources/images/android/android_screens_support/07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_screens_support/07.png
--------------------------------------------------------------------------------
/resources/images/android/android_screens_support/08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_screens_support/08.png
--------------------------------------------------------------------------------
/resources/images/android/android_screens_support/09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_screens_support/09.png
--------------------------------------------------------------------------------
/resources/images/android/android_screens_support/10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_screens_support/10.png
--------------------------------------------------------------------------------
/resources/images/android/android_screens_support/11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_screens_support/11.png
--------------------------------------------------------------------------------
/resources/images/android/android_screens_support/12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_screens_support/12.png
--------------------------------------------------------------------------------
/resources/images/android/android_screens_support/13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_screens_support/13.png
--------------------------------------------------------------------------------
/resources/images/android/android_service/service_start.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_service/service_start.png
--------------------------------------------------------------------------------
/resources/images/android/android_sign/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_sign/01.png
--------------------------------------------------------------------------------
/resources/images/android/android_sign/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_sign/02.png
--------------------------------------------------------------------------------
/resources/images/android/android_sign/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_sign/03.png
--------------------------------------------------------------------------------
/resources/images/android/android_sign/04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_sign/04.png
--------------------------------------------------------------------------------
/resources/images/android/android_sign/05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_sign/05.png
--------------------------------------------------------------------------------
/resources/images/android/android_sign/06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_sign/06.png
--------------------------------------------------------------------------------
/resources/images/android/android_sign/07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_sign/07.png
--------------------------------------------------------------------------------
/resources/images/android/android_sign/08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_sign/08.png
--------------------------------------------------------------------------------
/resources/images/android/android_sign/09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_sign/09.png
--------------------------------------------------------------------------------
/resources/images/android/android_sign/10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_sign/10.png
--------------------------------------------------------------------------------
/resources/images/android/android_sign/11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_sign/11.png
--------------------------------------------------------------------------------
/resources/images/android/android_sign/12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_sign/12.png
--------------------------------------------------------------------------------
/resources/images/android/android_sign/13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_sign/13.png
--------------------------------------------------------------------------------
/resources/images/android/android_sign/14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_sign/14.png
--------------------------------------------------------------------------------
/resources/images/android/android_sign/15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_sign/15.png
--------------------------------------------------------------------------------
/resources/images/android/android_surfaceflinger/surface_creat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_surfaceflinger/surface_creat.png
--------------------------------------------------------------------------------
/resources/images/android/android_surfaceflinger/surface_display.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_surfaceflinger/surface_display.png
--------------------------------------------------------------------------------
/resources/images/android/android_surfaceflinger/surfaceflinger_start.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_surfaceflinger/surfaceflinger_start.png
--------------------------------------------------------------------------------
/resources/images/android/android_task_launch_modes/01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_task_launch_modes/01.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_task_launch_modes/02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_task_launch_modes/02.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_task_launch_modes/03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_task_launch_modes/03.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_task_launch_modes/04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_task_launch_modes/04.jpg
--------------------------------------------------------------------------------
/resources/images/android/android_task_launch_modes/Android-Activity启动模式.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/android_task_launch_modes/Android-Activity启动模式.jpg
--------------------------------------------------------------------------------
/resources/images/android/basic/01_activity/activity_lifecycle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/01_activity/activity_lifecycle.png
--------------------------------------------------------------------------------
/resources/images/android/basic/01_activity/basic-lifecycle-savestate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/01_activity/basic-lifecycle-savestate.png
--------------------------------------------------------------------------------
/resources/images/android/basic/01_activity/diagram_backstack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/01_activity/diagram_backstack.png
--------------------------------------------------------------------------------
/resources/images/android/basic/01_activity/diagram_backstack_singletask_multiactivity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/01_activity/diagram_backstack_singletask_multiactivity.png
--------------------------------------------------------------------------------
/resources/images/android/basic/01_activity/diagram_multitasking.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/01_activity/diagram_multitasking.png
--------------------------------------------------------------------------------
/resources/images/android/basic/02_fragment/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/02_fragment/01.png
--------------------------------------------------------------------------------
/resources/images/android/basic/03_service/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/03_service/01.png
--------------------------------------------------------------------------------
/resources/images/android/basic/05_content_provider/01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/05_content_provider/01.jpg
--------------------------------------------------------------------------------
/resources/images/android/basic/06_multiple_screen_support/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/06_multiple_screen_support/01.png
--------------------------------------------------------------------------------
/resources/images/android/basic/06_multiple_screen_support/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/06_multiple_screen_support/02.png
--------------------------------------------------------------------------------
/resources/images/android/basic/06_multiple_screen_support/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/06_multiple_screen_support/03.png
--------------------------------------------------------------------------------
/resources/images/android/basic/06_multiple_screen_support/04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/06_multiple_screen_support/04.png
--------------------------------------------------------------------------------
/resources/images/android/basic/06_multiple_screen_support/05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/06_multiple_screen_support/05.png
--------------------------------------------------------------------------------
/resources/images/android/basic/06_multiple_screen_support/06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/06_multiple_screen_support/06.png
--------------------------------------------------------------------------------
/resources/images/android/basic/06_multiple_screen_support/07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/06_multiple_screen_support/07.png
--------------------------------------------------------------------------------
/resources/images/android/basic/06_multiple_screen_support/08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/06_multiple_screen_support/08.png
--------------------------------------------------------------------------------
/resources/images/android/basic/06_multiple_screen_support/09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/06_multiple_screen_support/09.png
--------------------------------------------------------------------------------
/resources/images/android/basic/06_multiple_screen_support/10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/06_multiple_screen_support/10.png
--------------------------------------------------------------------------------
/resources/images/android/basic/06_multiple_screen_support/11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/06_multiple_screen_support/11.png
--------------------------------------------------------------------------------
/resources/images/android/basic/06_multiple_screen_support/12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/06_multiple_screen_support/12.png
--------------------------------------------------------------------------------
/resources/images/android/basic/06_multiple_screen_support/13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/06_multiple_screen_support/13.png
--------------------------------------------------------------------------------
/resources/images/android/basic/06_multiple_screen_support/14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/06_multiple_screen_support/14.png
--------------------------------------------------------------------------------
/resources/images/android/basic/06_multiple_screen_support/15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/06_multiple_screen_support/15.png
--------------------------------------------------------------------------------
/resources/images/android/basic/06_multiple_screen_support/16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/06_multiple_screen_support/16.png
--------------------------------------------------------------------------------
/resources/images/android/basic/07_handler/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/07_handler/01.png
--------------------------------------------------------------------------------
/resources/images/android/basic/07_handler/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/07_handler/02.png
--------------------------------------------------------------------------------
/resources/images/android/basic/07_handler/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/07_handler/03.png
--------------------------------------------------------------------------------
/resources/images/android/basic/07_handler/04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/07_handler/04.png
--------------------------------------------------------------------------------
/resources/images/android/basic/07_handler/05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/07_handler/05.png
--------------------------------------------------------------------------------
/resources/images/android/basic/07_handler/06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/07_handler/06.png
--------------------------------------------------------------------------------
/resources/images/android/basic/07_handler/07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/07_handler/07.png
--------------------------------------------------------------------------------
/resources/images/android/basic/07_handler/08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/07_handler/08.png
--------------------------------------------------------------------------------
/resources/images/android/basic/08_task_affinity/01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/08_task_affinity/01.jpg
--------------------------------------------------------------------------------
/resources/images/android/basic/10_signature/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/10_signature/01.png
--------------------------------------------------------------------------------
/resources/images/android/basic/10_signature/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/10_signature/02.png
--------------------------------------------------------------------------------
/resources/images/android/basic/10_signature/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/10_signature/03.png
--------------------------------------------------------------------------------
/resources/images/android/basic/10_signature/04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/10_signature/04.png
--------------------------------------------------------------------------------
/resources/images/android/basic/10_signature/05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/10_signature/05.png
--------------------------------------------------------------------------------
/resources/images/android/basic/10_signature/06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/10_signature/06.png
--------------------------------------------------------------------------------
/resources/images/android/basic/10_signature/07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/10_signature/07.png
--------------------------------------------------------------------------------
/resources/images/android/basic/10_signature/08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/10_signature/08.png
--------------------------------------------------------------------------------
/resources/images/android/basic/10_signature/09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/10_signature/09.png
--------------------------------------------------------------------------------
/resources/images/android/basic/10_signature/10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/10_signature/10.png
--------------------------------------------------------------------------------
/resources/images/android/basic/10_signature/11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/10_signature/11.png
--------------------------------------------------------------------------------
/resources/images/android/basic/10_signature/12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/10_signature/12.png
--------------------------------------------------------------------------------
/resources/images/android/basic/10_signature/13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/10_signature/13.png
--------------------------------------------------------------------------------
/resources/images/android/basic/10_signature/14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/10_signature/14.png
--------------------------------------------------------------------------------
/resources/images/android/basic/10_signature/15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/basic/10_signature/15.png
--------------------------------------------------------------------------------
/resources/images/android/framework/01_system_start/01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/framework/01_system_start/01.jpg
--------------------------------------------------------------------------------
/resources/images/android/framework/01_system_start/02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/framework/01_system_start/02.jpg
--------------------------------------------------------------------------------
/resources/images/android/framework/01_system_start/03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/framework/01_system_start/03.jpg
--------------------------------------------------------------------------------
/resources/images/android/framework/01_system_start/04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/framework/01_system_start/04.jpg
--------------------------------------------------------------------------------
/resources/images/android/framework/01_system_start/05.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/framework/01_system_start/05.jpg
--------------------------------------------------------------------------------
/resources/images/android/framework/01_system_start/06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/framework/01_system_start/06.png
--------------------------------------------------------------------------------
/resources/images/android/framework/01_system_start/07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/framework/01_system_start/07.png
--------------------------------------------------------------------------------
/resources/images/android/framework/02_init_zygote/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/framework/02_init_zygote/01.png
--------------------------------------------------------------------------------
/resources/images/android/framework/02_init_zygote/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/framework/02_init_zygote/02.png
--------------------------------------------------------------------------------
/resources/images/android/framework/02_init_zygote/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/framework/02_init_zygote/03.png
--------------------------------------------------------------------------------
/resources/images/android/framework/02_init_zygote/04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/framework/02_init_zygote/04.png
--------------------------------------------------------------------------------
/resources/images/android/framework/03_system_server_01/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/framework/03_system_server_01/01.png
--------------------------------------------------------------------------------
/resources/images/android/framework/03_system_server_01/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/framework/03_system_server_01/02.png
--------------------------------------------------------------------------------
/resources/images/android/framework/03_system_server_01/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/framework/03_system_server_01/03.png
--------------------------------------------------------------------------------
/resources/images/android/framework/04_system_server_02/01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/framework/04_system_server_02/01.jpg
--------------------------------------------------------------------------------
/resources/images/android/performance/01_render/01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/01_render/01.jpg
--------------------------------------------------------------------------------
/resources/images/android/performance/01_render/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/01_render/02.png
--------------------------------------------------------------------------------
/resources/images/android/performance/01_render/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/01_render/03.png
--------------------------------------------------------------------------------
/resources/images/android/performance/01_render/04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/01_render/04.png
--------------------------------------------------------------------------------
/resources/images/android/performance/01_render/05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/01_render/05.png
--------------------------------------------------------------------------------
/resources/images/android/performance/01_render/06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/01_render/06.png
--------------------------------------------------------------------------------
/resources/images/android/performance/01_render/07.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/01_render/07.jpg
--------------------------------------------------------------------------------
/resources/images/android/performance/01_render/08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/01_render/08.png
--------------------------------------------------------------------------------
/resources/images/android/performance/01_render/09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/01_render/09.png
--------------------------------------------------------------------------------
/resources/images/android/performance/01_render/10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/01_render/10.png
--------------------------------------------------------------------------------
/resources/images/android/performance/01_render/11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/01_render/11.png
--------------------------------------------------------------------------------
/resources/images/android/performance/01_render/12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/01_render/12.png
--------------------------------------------------------------------------------
/resources/images/android/performance/01_render/13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/01_render/13.png
--------------------------------------------------------------------------------
/resources/images/android/performance/01_render/14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/01_render/14.png
--------------------------------------------------------------------------------
/resources/images/android/performance/01_render/15.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/01_render/15.jpg
--------------------------------------------------------------------------------
/resources/images/android/performance/01_render/16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/01_render/16.png
--------------------------------------------------------------------------------
/resources/images/android/performance/01_render/17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/01_render/17.png
--------------------------------------------------------------------------------
/resources/images/android/performance/01_render/18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/01_render/18.png
--------------------------------------------------------------------------------
/resources/images/android/performance/01_render/19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/01_render/19.png
--------------------------------------------------------------------------------
/resources/images/android/performance/01_render/20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/01_render/20.png
--------------------------------------------------------------------------------
/resources/images/android/performance/02_compute/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/02_compute/01.png
--------------------------------------------------------------------------------
/resources/images/android/performance/02_compute/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/02_compute/02.png
--------------------------------------------------------------------------------
/resources/images/android/performance/02_compute/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/02_compute/03.png
--------------------------------------------------------------------------------
/resources/images/android/performance/02_compute/04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/02_compute/04.png
--------------------------------------------------------------------------------
/resources/images/android/performance/02_compute/05.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/02_compute/05.jpg
--------------------------------------------------------------------------------
/resources/images/android/performance/02_compute/06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/02_compute/06.png
--------------------------------------------------------------------------------
/resources/images/android/performance/02_compute/07.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/02_compute/07.jpg
--------------------------------------------------------------------------------
/resources/images/android/performance/02_compute/08.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/02_compute/08.jpg
--------------------------------------------------------------------------------
/resources/images/android/performance/03_memory/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/03_memory/01.png
--------------------------------------------------------------------------------
/resources/images/android/performance/03_memory/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/03_memory/02.png
--------------------------------------------------------------------------------
/resources/images/android/performance/03_memory/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/03_memory/03.png
--------------------------------------------------------------------------------
/resources/images/android/performance/03_memory/04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/03_memory/04.png
--------------------------------------------------------------------------------
/resources/images/android/performance/04_battery/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/04_battery/01.png
--------------------------------------------------------------------------------
/resources/images/android/performance/04_battery/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/04_battery/02.png
--------------------------------------------------------------------------------
/resources/images/android/performance/04_battery/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/04_battery/03.png
--------------------------------------------------------------------------------
/resources/images/android/performance/04_battery/04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/04_battery/04.png
--------------------------------------------------------------------------------
/resources/images/android/performance/04_battery/05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/04_battery/05.png
--------------------------------------------------------------------------------
/resources/images/android/performance/04_battery/06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/04_battery/06.png
--------------------------------------------------------------------------------
/resources/images/android/performance/04_battery/07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/04_battery/07.png
--------------------------------------------------------------------------------
/resources/images/android/performance/04_battery/08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/04_battery/08.png
--------------------------------------------------------------------------------
/resources/images/android/performance/05_network/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/05_network/01.png
--------------------------------------------------------------------------------
/resources/images/android/performance/05_network/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/05_network/02.png
--------------------------------------------------------------------------------
/resources/images/android/performance/05_network/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/05_network/03.png
--------------------------------------------------------------------------------
/resources/images/android/performance/05_network/04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/05_network/04.png
--------------------------------------------------------------------------------
/resources/images/android/performance/05_network/05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/05_network/05.png
--------------------------------------------------------------------------------
/resources/images/android/performance/05_network/06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/05_network/06.png
--------------------------------------------------------------------------------
/resources/images/android/performance/06_launch/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/06_launch/01.png
--------------------------------------------------------------------------------
/resources/images/android/performance/06_launch/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/06_launch/02.png
--------------------------------------------------------------------------------
/resources/images/android/performance/06_launch/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/06_launch/03.png
--------------------------------------------------------------------------------
/resources/images/android/performance/06_launch/04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/06_launch/04.png
--------------------------------------------------------------------------------
/resources/images/android/performance/06_launch/05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/06_launch/05.png
--------------------------------------------------------------------------------
/resources/images/android/performance/06_launch/06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/06_launch/06.png
--------------------------------------------------------------------------------
/resources/images/android/performance/06_launch/07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/06_launch/07.png
--------------------------------------------------------------------------------
/resources/images/android/performance/07_apk/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/07_apk/01.png
--------------------------------------------------------------------------------
/resources/images/android/performance/07_apk/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/performance/07_apk/02.png
--------------------------------------------------------------------------------
/resources/images/android/plugin/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/plugin/01.png
--------------------------------------------------------------------------------
/resources/images/android/plugin/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/plugin/02.png
--------------------------------------------------------------------------------
/resources/images/android/plugin/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/plugin/03.png
--------------------------------------------------------------------------------
/resources/images/android/plugin/04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/android/plugin/04.jpg
--------------------------------------------------------------------------------
/resources/images/design_patterns/Facade-01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/design_patterns/Facade-01.png
--------------------------------------------------------------------------------
/resources/images/design_patterns/Facade-03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/design_patterns/Facade-03.png
--------------------------------------------------------------------------------
/resources/images/design_patterns/Facade-04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/design_patterns/Facade-04.png
--------------------------------------------------------------------------------
/resources/images/design_patterns/Facade-05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/design_patterns/Facade-05.png
--------------------------------------------------------------------------------
/resources/images/design_patterns/Facade-06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/design_patterns/Facade-06.png
--------------------------------------------------------------------------------
/resources/images/design_patterns/Facade-07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/design_patterns/Facade-07.png
--------------------------------------------------------------------------------
/resources/images/gradle/00.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/gradle/00.png
--------------------------------------------------------------------------------
/resources/images/gradle/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/gradle/01.png
--------------------------------------------------------------------------------
/resources/images/gradle/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/gradle/02.png
--------------------------------------------------------------------------------
/resources/images/gradle/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/gradle/03.png
--------------------------------------------------------------------------------
/resources/images/gradle/04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/gradle/04.png
--------------------------------------------------------------------------------
/resources/images/gradle/05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/gradle/05.png
--------------------------------------------------------------------------------
/resources/images/gradle/06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/gradle/06.png
--------------------------------------------------------------------------------
/resources/images/gradle/07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/gradle/07.png
--------------------------------------------------------------------------------
/resources/images/gradle/08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/gradle/08.png
--------------------------------------------------------------------------------
/resources/images/gradle/09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/gradle/09.png
--------------------------------------------------------------------------------
/resources/images/gradle/10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/gradle/10.png
--------------------------------------------------------------------------------
/resources/images/gradle/100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/gradle/100.png
--------------------------------------------------------------------------------
/resources/images/gradle/101.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/gradle/101.png
--------------------------------------------------------------------------------
/resources/images/gradle/102.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/gradle/102.png
--------------------------------------------------------------------------------
/resources/images/gradle/11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/gradle/11.png
--------------------------------------------------------------------------------
/resources/images/gradle/12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/gradle/12.png
--------------------------------------------------------------------------------
/resources/images/gradle/13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/gradle/13.png
--------------------------------------------------------------------------------
/resources/images/gradle/14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/gradle/14.png
--------------------------------------------------------------------------------
/resources/images/gradle/15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/gradle/15.png
--------------------------------------------------------------------------------
/resources/images/gradle/16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/gradle/16.png
--------------------------------------------------------------------------------
/resources/images/hardware/led/00.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/hardware/led/00.png
--------------------------------------------------------------------------------
/resources/images/hardware/led/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/hardware/led/01.png
--------------------------------------------------------------------------------
/resources/images/hardware/led/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/hardware/led/02.png
--------------------------------------------------------------------------------
/resources/images/hardware/led/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/hardware/led/03.png
--------------------------------------------------------------------------------
/resources/images/hardware/led/04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/hardware/led/04.png
--------------------------------------------------------------------------------
/resources/images/hardware/led/05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/hardware/led/05.png
--------------------------------------------------------------------------------
/resources/images/hardware/led/06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/hardware/led/06.png
--------------------------------------------------------------------------------
/resources/images/hardware/led/07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/hardware/led/07.png
--------------------------------------------------------------------------------
/resources/images/hardware/led/08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/hardware/led/08.png
--------------------------------------------------------------------------------
/resources/images/hardware/led/09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/hardware/led/09.png
--------------------------------------------------------------------------------
/resources/images/hardware/led/10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/hardware/led/10.jpg
--------------------------------------------------------------------------------
/resources/images/hardware/led/11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/hardware/led/11.jpg
--------------------------------------------------------------------------------
/resources/images/hardware/led/12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/hardware/led/12.png
--------------------------------------------------------------------------------
/resources/images/hardware/led/13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/hardware/led/13.png
--------------------------------------------------------------------------------
/resources/images/hardware/led/14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/hardware/led/14.png
--------------------------------------------------------------------------------
/resources/images/hardware/led/15.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/hardware/led/15.webp
--------------------------------------------------------------------------------
/resources/images/hardware/led/16.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/hardware/led/16.webp
--------------------------------------------------------------------------------
/resources/images/hardware/led/17.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/hardware/led/17.webp
--------------------------------------------------------------------------------
/resources/images/hardware/led/18.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/hardware/led/18.webp
--------------------------------------------------------------------------------
/resources/images/hardware/led/19.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/hardware/led/19.webp
--------------------------------------------------------------------------------
/resources/images/hardware/led/20.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/hardware/led/20.jpg
--------------------------------------------------------------------------------
/resources/images/hardware/led/21.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/hardware/led/21.png
--------------------------------------------------------------------------------
/resources/images/interview/01.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/interview/01.jpeg
--------------------------------------------------------------------------------
/resources/images/ios_intro/ios_8_system_level_desc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/ios_intro/ios_8_system_level_desc.png
--------------------------------------------------------------------------------
/resources/images/ios_intro/ios_system_level.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/ios_intro/ios_system_level.png
--------------------------------------------------------------------------------
/resources/images/ios_intro/uikit_organization_chart.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/ios_intro/uikit_organization_chart.jpg
--------------------------------------------------------------------------------
/resources/images/java/basic/java_arraylist/arraylist_add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/basic/java_arraylist/arraylist_add.png
--------------------------------------------------------------------------------
/resources/images/java/basic/java_arraylist/arraylist_add2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/basic/java_arraylist/arraylist_add2.png
--------------------------------------------------------------------------------
/resources/images/java/basic/java_arraylist/arraylist_remove.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/basic/java_arraylist/arraylist_remove.png
--------------------------------------------------------------------------------
/resources/images/java/basic/java_arraylist/arraylist_trim.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/basic/java_arraylist/arraylist_trim.png
--------------------------------------------------------------------------------
/resources/images/java/basic/java_hashmap/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/basic/java_hashmap/01.png
--------------------------------------------------------------------------------
/resources/images/java/basic/java_hashmap/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/basic/java_hashmap/02.png
--------------------------------------------------------------------------------
/resources/images/java/basic/java_hashmap/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/basic/java_hashmap/03.png
--------------------------------------------------------------------------------
/resources/images/java/basic/java_hashmap/04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/basic/java_hashmap/04.png
--------------------------------------------------------------------------------
/resources/images/java/basic/java_hashmap/05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/basic/java_hashmap/05.png
--------------------------------------------------------------------------------
/resources/images/java/basic/java_hashmap/06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/basic/java_hashmap/06.png
--------------------------------------------------------------------------------
/resources/images/java/basic/linkedlist/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/basic/linkedlist/01.png
--------------------------------------------------------------------------------
/resources/images/java/basic/treemap/01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/basic/treemap/01.jpg
--------------------------------------------------------------------------------
/resources/images/java/basic/treemap/02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/basic/treemap/02.jpg
--------------------------------------------------------------------------------
/resources/images/java/basic/treemap/03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/basic/treemap/03.jpg
--------------------------------------------------------------------------------
/resources/images/java/basic/treemap/04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/basic/treemap/04.jpg
--------------------------------------------------------------------------------
/resources/images/java/basic/treemap/05.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/basic/treemap/05.jpg
--------------------------------------------------------------------------------
/resources/images/java/basic/treemap/06.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/basic/treemap/06.jpg
--------------------------------------------------------------------------------
/resources/images/java/basic/treemap/07.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/basic/treemap/07.jpg
--------------------------------------------------------------------------------
/resources/images/java/basic/treemap/08.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/basic/treemap/08.jpg
--------------------------------------------------------------------------------
/resources/images/java/basic/treemap/09.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/basic/treemap/09.jpg
--------------------------------------------------------------------------------
/resources/images/java/basic/treemap/10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/basic/treemap/10.jpg
--------------------------------------------------------------------------------
/resources/images/java/basic/treemap/11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/basic/treemap/11.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/01.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/02.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/03.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/04.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/05.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/05.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/06.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/06.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/07.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/07.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/08.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/08.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/09.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/09.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/10.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/10_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/10_1.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/11.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/12.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/13.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/13.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/14.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/14.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/15.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/15.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/16.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/16.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/17.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/17.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/18.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/18.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/19.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/19.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/20.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/20.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/21.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/21.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/22.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/22.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/23.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/23.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/24.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/24.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/25.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/25.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/26.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/26.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/27.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/27.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/28.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/28.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/29.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/29.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/class/30.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/class/30.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/gc_clean.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/gc_clean.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/gc_collection1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/gc_collection1.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/gc_collection2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/gc_collection2.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/gc_collection3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/gc_collection3.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/gc_collection4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/gc_collection4.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/gc_collection5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/gc_collection5.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/gc_collection6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/gc_collection6.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/gc_collection7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/gc_collection7.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/gc_collection8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/gc_collection8.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/gc_compacting.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/gc_compacting.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/gc_copy.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/gc_copy.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/gc_heap_structure.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/gc_heap_structure.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/gc_heap_structure_desc.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/gc_heap_structure_desc.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/gc_marking.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/gc_marking.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/gc_reference_chain.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/gc_reference_chain.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/jvm_gc/01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/jvm_gc/01.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/jvm_gc/02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/jvm_gc/02.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/jvm_gc/03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/jvm_gc/03.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/jvm_gc/04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/jvm_gc/04.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/jvm_gc/05.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/jvm_gc/05.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/jvm_gc/06.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/jvm_gc/06.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/jvm_gc/07.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/jvm_gc/07.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/jvm_gc/08.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/jvm_gc/08.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/jvm_gc/09.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/jvm_gc/09.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/jvm_gc/10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/jvm_gc/10.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/jvm_gc/11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/jvm_gc/11.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/jvm_gc/12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/jvm_gc/12.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/jvm_gc/13.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/jvm_gc/13.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/jvm_gc/14.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/jvm_gc/14.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/jvm_gc/15.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/jvm_gc/15.jpg
--------------------------------------------------------------------------------
/resources/images/java/jvm/jvm_gc/jvm_memory_area.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/jvm_gc/jvm_memory_area.png
--------------------------------------------------------------------------------
/resources/images/java/jvm/jvm_gc/jvm_memory_area_simple1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/jvm_gc/jvm_memory_area_simple1.png
--------------------------------------------------------------------------------
/resources/images/java/jvm/jvm_gc/jvm_memory_area_simple2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/jvm_gc/jvm_memory_area_simple2.png
--------------------------------------------------------------------------------
/resources/images/java/jvm/jvm_gc/jvm_memory_area_simple3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/jvm_gc/jvm_memory_area_simple3.png
--------------------------------------------------------------------------------
/resources/images/java/jvm/jvm_memory_area.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/jvm_memory_area.png
--------------------------------------------------------------------------------
/resources/images/java/jvm/jvm_memory_area_simple1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/jvm_memory_area_simple1.png
--------------------------------------------------------------------------------
/resources/images/java/jvm/jvm_memory_area_simple2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/jvm_memory_area_simple2.png
--------------------------------------------------------------------------------
/resources/images/java/jvm/jvm_memory_area_simple3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/jvm_memory_area_simple3.png
--------------------------------------------------------------------------------
/resources/images/java/jvm/method_invoke/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/method_invoke/01.png
--------------------------------------------------------------------------------
/resources/images/java/jvm/method_invoke/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/method_invoke/02.png
--------------------------------------------------------------------------------
/resources/images/java/jvm/method_invoke/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/method_invoke/03.png
--------------------------------------------------------------------------------
/resources/images/java/jvm/method_invoke/04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/method_invoke/04.png
--------------------------------------------------------------------------------
/resources/images/java/jvm/method_invoke/05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/method_invoke/05.png
--------------------------------------------------------------------------------
/resources/images/java/jvm/method_invoke/06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/method_invoke/06.png
--------------------------------------------------------------------------------
/resources/images/java/jvm/optimize/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/java/jvm/optimize/01.png
--------------------------------------------------------------------------------
/resources/images/lottie/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/lottie/01.png
--------------------------------------------------------------------------------
/resources/images/lottie/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/lottie/02.png
--------------------------------------------------------------------------------
/resources/images/lottie/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/lottie/03.png
--------------------------------------------------------------------------------
/resources/images/network/http_connect.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/network/http_connect.jpg
--------------------------------------------------------------------------------
/resources/images/network/http_connect_keep.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/network/http_connect_keep.jpg
--------------------------------------------------------------------------------
/resources/images/network/http_connect_simple.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/network/http_connect_simple.jpg
--------------------------------------------------------------------------------
/resources/images/network/http_https.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/network/http_https.jpg
--------------------------------------------------------------------------------
/resources/images/network/http_spdy.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/network/http_spdy.jpg
--------------------------------------------------------------------------------
/resources/images/network/http_tcp.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/network/http_tcp.jpg
--------------------------------------------------------------------------------
/resources/images/network/http_version.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/network/http_version.jpg
--------------------------------------------------------------------------------
/resources/images/network/https_ca.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/network/https_ca.jpg
--------------------------------------------------------------------------------
/resources/images/network/pass_key.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/network/pass_key.jpg
--------------------------------------------------------------------------------
/resources/images/network/pass_none.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/network/pass_none.jpg
--------------------------------------------------------------------------------
/resources/images/network/pass_pub_hacker.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/network/pass_pub_hacker.jpg
--------------------------------------------------------------------------------
/resources/images/network/pass_pub_pre_key.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/network/pass_pub_pre_key.jpg
--------------------------------------------------------------------------------
/resources/images/network/tcp_data.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/network/tcp_data.jpg
--------------------------------------------------------------------------------
/resources/images/network/tcp_end.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/network/tcp_end.jpg
--------------------------------------------------------------------------------
/resources/images/network/tcp_osi.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/network/tcp_osi.jpg
--------------------------------------------------------------------------------
/resources/images/network/tcp_start.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/network/tcp_start.jpg
--------------------------------------------------------------------------------
/resources/images/network/tcp_transaction.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/network/tcp_transaction.jpg
--------------------------------------------------------------------------------
/resources/images/other/insurance/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/other/insurance/01.png
--------------------------------------------------------------------------------
/resources/images/other/insurance/02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/other/insurance/02.jpg
--------------------------------------------------------------------------------
/resources/images/other/insurance/03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/other/insurance/03.jpg
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_app/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_app/01.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_app/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_app/02.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_app/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_app/03.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_app/04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_app/04.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_app/app_android_ios.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_app/app_android_ios.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_app/app_arch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_app/app_arch.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_html/dom_tree.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_html/dom_tree.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_html/firefoxflow.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_html/firefoxflow.jpg
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_html/flow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_html/flow.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_html/layers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_html/layers.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_html/render_tree.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_html/render_tree.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_html/webkitflow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_html/webkitflow.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_response/dpi.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_response/dpi.jpg
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_trend/ajax.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_trend/ajax.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_trend/browser_trend.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_trend/browser_trend.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_trend/html5_support.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_trend/html5_support.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_trend/jquery.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_trend/jquery.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_trend/mobile_html5_support.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_trend/mobile_html5_support.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_trend/mv_.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_trend/mv_.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_trend/netscape.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_trend/netscape.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_trend/npm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_trend/npm.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_trend/time_line.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_trend/time_line.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_v8/code_inlining.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_v8/code_inlining.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_v8/hide_class.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_v8/hide_class.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_v8/hide_class1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_v8/hide_class1.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_v8/hide_class2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_v8/hide_class2.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_v8/hide_class_diff.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_v8/hide_class_diff.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_v8/js_hash.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_v8/js_hash.jpg
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_v8/js_loop.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_v8/js_loop.jpg
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_v8/js_vs_c.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_v8/js_vs_c.jpg
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_v8/v8_arch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_v8/v8_arch.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_v8/v8_call_stack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_v8/v8_call_stack.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_v8/v8_call_stack2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_v8/v8_call_stack2.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_v8/v8_error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_v8/v8_error.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_v8/v8_error2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_v8/v8_error2.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_front_v8/v8_runtime.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_front_v8/v8_runtime.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_project/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_project/01.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_project/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_project/02.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_project/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_project/03.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_project/04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_project/04.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_project/05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_project/05.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_project/06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_project/06.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_project/07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_project/07.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_project/08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_project/08.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_project/09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_project/09.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_project/10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_project/10.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_project/11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_project/11.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_project/12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_project/12.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_project/13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_project/13.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_project/14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_project/14.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_project/15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_project/15.png
--------------------------------------------------------------------------------
/resources/images/web_front/web_project/16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/web_front/web_project/16.png
--------------------------------------------------------------------------------
/resources/images/xmind/Android基础.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/xmind/Android基础.png
--------------------------------------------------------------------------------
/resources/images/xmind/Android资深.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/xmind/Android资深.png
--------------------------------------------------------------------------------
/resources/images/xmind/Android高级.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/images/xmind/Android高级.png
--------------------------------------------------------------------------------
/resources/tools/python_download.py:
--------------------------------------------------------------------------------
1 | import xml.dom.minidom
2 | import os
3 | from subprocess import call
4 |
5 | #downloaded source path
6 | rootdir = "D:/Develop/Android/BaseCode/android_source_code/Android5.1.1"
7 | #rootdir = "D:/Develop/Android/BaseCode/android_source_code/sync"
8 |
9 | #git program path
10 | git = "C:/Develop/Git/bin/git.exe"
11 |
12 | dom = xml.dom.minidom.parse("D:/Develop/Android/BaseCode/manifest/default.xml")
13 | root = dom.documentElement
14 |
15 | #prefix = git + " clone https://android.googlesource.com/"
16 | prefix = git + " clone https://aosp.tuna.tsinghua.edu.cn/"
17 | suffix = ".git"
18 |
19 | if not os.path.exists(rootdir):
20 | os.mkdir(rootdir)
21 |
22 | for node in root.getElementsByTagName("project"):
23 | os.chdir(rootdir)
24 | d = node.getAttribute("path")
25 | last = d.rfind("/")
26 | if last != -1:
27 | d = rootdir + "/" + d[:last]
28 | if not os.path.exists(d):
29 | os.makedirs(d)
30 | os.chdir(d)
31 | cmd = prefix + node.getAttribute("name") + suffix
32 | call(cmd)
33 |
--------------------------------------------------------------------------------
/resources/visio/Android-Binder机制.vsdx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/visio/Android-Binder机制.vsdx
--------------------------------------------------------------------------------
/resources/visio/Android-Binder机制2.vsdx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/f3fe2e9bef012b7c8aed77de94f1de7becbd8772/resources/visio/Android-Binder机制2.vsdx
--------------------------------------------------------------------------------