Android 基础知识、Android 进阶知识、Android 自定义 View 相关、面试相关
16lz
2021-01-23
AndroidNote
项目地址:linsir6/AndroidNote
简介:Android 基础知识、Android 进阶知识、Android 自定义 View 相关、面试相关的知识,欢迎 fork,star~
更多:作者 提 Bug
标签:
Android-Note 里面记录了有关 Android 的常用基础知识、面试中经常被问到的知识点、Android 进阶必备的知识。
由于目前正处在春招的时间点上,博主也正在积极准备春招,在这里把一些面试常问到的知识点总结一下。
专门为面试准备的面试内容: https://github.com/linsir6/Android-Advance
Android
基础
- Activity 详细解析
- Service 详细解析
- IntentService 详细解析
- IntentService 原理解析文章
- ContentProvider 实例详解
- BroadcastReceiver 详细解析
- Android 异步任务机制之 AsycTask
- Handler,Looper,MessageQueue 关系
- Android-SQLite 的基本使用
- Android 系统相机与相册的使用
- 图片缓存原理
- Android 数据存储的五种方式
- Android 跟随手指移动的 View
- RecyclerView 的使用
- Android 获取 SHA1
- Recyclerview 和 Listview 的异同.md
- 初识 ConstraintLayout
- TabLayout 记录
- 用 SpannableString 打造绚丽多彩的文本显示效果
- 解析 ConstraintLayout 的性能优势
- Android 新特性介绍,ConstraintLayout 完全解析
- Android 新特性介绍,ConstraintLayout 完全解析
- Android 一个无限循环滚动的卡片式 ViewPager
Android 进阶
- Android 触控事件解析 - Mastering The Android Touch System 笔记
- Android 多进程使用场景
- Android 官网建议代码规范
- 30 多年编码经验总结成 10 条最佳实践
- Android 中的动画
- 深入了解 MVXX 模式
- Android 项目总结
- Android 项目总结 2
- 自定义 RadioGroup
- Android 导入项目一直在 Building 的解决方案
- 基于 TOTP 的双向认证算法
- Android 内存泄漏总结.md
- Handler 引起的内存泄漏的案例与分析
- Android 性能优化.md
- LeakCanary 的工作过程以及原理
- AIDL 的具体实现流程
- Android 中利用异步来优化处理速度
- 为什么选择 Binder 实现 Android 中跨进程通信
- 三大图片缓存框架的对比
- SVG 图片在 Android 中的应用
- 携程 App 的网络性能优化实践
- 途牛插件化原理
- Android 分包原理
- 插件化实现的思想
- Android 7.0 新特性总结
- RecyclerView 局部刷新的坑
- Android 单元测试
- gradle 详解——你真的了解 Gradle 吗?
- AndroidStudio-Gradle 多渠道打包
- Android 基础入门教程——8.1.1 Android 中的 13 种 Drawable 小结 Part 1
- Android 基础入门教程——8.1.2 Android 中的 13 种 Drawable 小结 Part 2
- Android-Drawable 高级用法
- 安卓开踩过的坑:你的 Bitmap 究竟占多大内存?
- Android 4.4 中 WebView 使用注意事项
- Android 图像处理 - 高斯模糊的原理及实现
- Android 实战——GreenDao3.2 的使用,爱不释手
- Realm for Android 详细教程
- 给 Android 开发者的 RxJava 详解
- Android 谈谈自动化测试
- 检查 app 是否具有通知栏权限
- Android 中图片压缩分析(上)
- Android Studio3.0 更新之路(遇坑必入)
- Android Studio3.0 正式版填坑路
- Android 混合编程:WebView 实践
- runOnUiThread 、Handler.post、View.post 之间的区别
- 理解 Activity.runOnUiThread
- 说说 getMainLooper
- Android 探究 LayoutInflater setFactory
- 巧用 ViewPager 打造不一样的广告轮播切换效果
- 为 RecyclerView 打造通用 Adapter 让 RecyclerView 更加好用
- MNCrashMonitor 监听程序崩溃日志,直接页面展示崩溃日志列表
- 『进阶之路』—— 线程池
- 从 json 文件到炫酷动画-Lottie 实现思路和源码分析
- Lottie 动画库 Android 端源码浅析
Gradle 相关
- 如何理解 Transform API
- Gradle 自定义插件详解
- Android 突破 DEX 文件的 64k 方法数限制
- Android Dex 分包之旅
- 美团 Android DEX 自动拆包及动态加载简介
- gradle 简单入门系列
- Gradle 简单配置
- Android 如何编写基于编译时注解的项目
- Gradle 完整指南(Android)
插件化相关
- 滴滴插件化方案 VirtualApk 源码解析
热修复相关
- Android 热修复 Tinker Gradle Plugin 解析
- Android 热修复 Tinker 接入及源码浅析
- Android 热修复 Tinker 源码分析之 DexDiff / DexPatch
自定义 View
- 自定义 View 入门
- 自定义 view 详细教程
- 自定义 ViewGroup 入门
- Android 事件分发机制
- CameraView
- CheckView
- CircleView
- FlowLayout
- PieView
- SlideslipListView
- 二阶贝塞尔曲线
- 三阶贝塞尔曲线
- 贝塞尔曲线 Demo
- 具有弹性的小球
- PathMeasure
编译器相关
- Android Studio 3.0 新功能解析和旧项目适配
- Android-studio 使用教程 1.md)
- Android-studio 使用教程 2.md)
- Android-studio 使用教程 3.md)
- Android-studio 使用教程 4.md)
- Android-studio 使用教程 5.md)
- Android-studio 使用教程 6.md)
- Android-studio 使用教程 7.md)
面试题
Java 面试相关
- Android 动态加载技术三个关键问题详解
- Android 组件化方案
- Android 插件化系列第(一)篇---Hook 技术之 Activity 的启动过程拦截
- Android 插件化系列第(二)篇---动态加载技术之 apk 换肤
- Android 插件化系列第(三)篇---Hook 技术之 View 点击劫持
- Android 性能优化之布局优化
- 简易断点续传下载器实现
- 超详细面试基础题
- JVM 结构、GC 工作机制详解
- 深入理解 Activity 的生命周期
- 2017-Android 暑期实习生面试经验谈
- 深入探讨类加载器
- 找到无序数组中最小的 K 个数
- 字符编码笔记:ASCII,Unicode 和 UTF-8
- Android 消息机制——你真的了解 Handler?
- 高并发下线程安全的单例模式
- 深入源码解析 Android 中的 Handler,Message,MessageQueue,Looper
- 十大基础算法
- 一套比较好的面试题
- Android 中常见面试题
- 一套比较完整的面试题
- Android 5.0 6.0 7.0 新特性
- Android 中弱引用与软引用
- Android 推送实现原理
- Asset 目录与 res 目录的区别
- JSON 的定义
- ListView 性能优化
- Android 图片三级缓存
- Service 保活
- 如何提高 Activity 启动速度
- 如何终止 App 的运行
- 如何实现 Activity 切换的动画
性能优化
- Android 开发性能优化总结(一)
- Android 开发性能优化总结(二)
开源框架
- 当下流行开源框架总览
- easypermission
- ButterKnifeZelezny
- RxJava+retrofit2
- LinLog
- Retrofit 2.0 使用教程
- retrofit 2.0 源码解析
- 关于 RxJava 背压
- RxJava 2.0 中 backpressure(背压)概念的理解
- Retrofit2 完全解析 探索与 okhttp 之间的关系
打包
- 打包 jar 包或 aar 包
- 发布 sdk 到 jcenter
Kotlin 相关
- Kotlin-for-android
Android 报错记录
- Android 报错:Manifest-merger-failed-with-multiple-errors,see-logs
- Android 报错-Client not ready yet
- 微信“15。。。。。”背后的故事
- 【Android】当关闭通知消息权限后无法显示系统 Toast 的解决方案
- 使用 Android 内置 WebView 打开 TextView 中的超链接
Android 源码相关
- Fresco 源码解析 - DataSource 怎样存储数据
linux
- Android-GitLabCi 配置.md
Git 教程
- Git 详细教程
IOS-Note
- Ios 上架 app 需要的图标尺寸
Java-Note
设计模式相关
- 设计模式概括
- 单例模式
- 单利模式的四种实现方式
- 观察者模式
Java 基础相关
- Java 基础知识
- Java 回调原理与实现 1
- Java 回调原理与实现 2
- 大量线程的同步操作
- Java 反射机制
- ArrayList、LinkedList、Vector 的异同
- Java 中 Error 和 Exception
- Des 加密算法
- HashTable 和 HashMap 的异同
- JVM 虚拟机基础知识
- JVM 类加载器
- Javase 基础知识
- SparseArray 的使用及实现原理
JavaEE 相关
- Spring 入门教程
- 最全面的 Spring 学习笔记
- Spring-root 入门
- Spring Boot 配置文件 – 在坑中实践
- Spring Boot 之 RESRful API 权限控制
- Spring Boot 整合 Redis 实现缓存操作
- Spring Boot 官方文档
Mac-Note
- mac 上常用命令
- mac 上安装 java1.8
- mac 上重置 MySQL 密码
- mac 终端与服务器保持连接
- nodejs 与 npm 的更新
- mac 本地生成 ssh-key
ReactNative-Note
- ReactNative 入门
- 短信验证码倒计时控件
- ReactNative 报错记录
- ReactNative 利用 CodePush 实现热更新
- Touchable 系列组建讲解
- ReactNative 调试心得
- React/React Native 的 ES5 ES6 写法对照表
Script-Note
基础
- 简单的 Shell 脚本
- 一篇文章学懂 Shell 脚本
- GitHub 基础操作
- 封装一些 GitHub 常用命令
Web-Note
NodeJS 相关
- 淘宝 cnpm
- koa 框架对 post 内容读取并解析
- nodejs 查询数据库后将值返回前端
- nodejs 项目在云服务器的部署
MySQL 相关
- linux 下安装 MySQL
- MySQL 基础操作
- MySQL 导出数据库、表.md)
- Error-ER_TRUNCATED_WRONG_VALUE_FOR_FIELD
- ERROR-1045-(28000)--Access-denied-for-user-'debian-sys-maint'@'localhost--Access-denied-for-user-'debian-sys-maint'@'localho.md)
- mysql 设置远程链接权限
- 关于初次安装 mysql8.01 遇到的问题解决
网络协议相关
- 浅析 socket
- 浅析 Hessian
- 浅析 RPC 协议
- 浅析 dubbo 服务
- SSH 原理与应用
- 理解 OAuth 2.0
- OAuth 2 和 JWT - 如何设计安全的 API?
更多相关文章
- Android Studio之软件安装教程
- android性能之一:内存泄露、内存溢出的区别及原理分析
- Android入门教程 (二) 第一个App HelloWorld
- Android 显示原理简介
- Android多分辨率适配框架(2)— 原理剖析
- Android 中级教程(一)之------Android MediaPlayer播放mp3的实例
- Android开发教程大全介绍
- [导入]Android植入Wooboo广告教程