Android全局异常处理
在做android项目开发时,大家都知道如果程序出错了,会弹出来一个强制退出的弹出框,这个本身没什么问题,但是这个UI实在是太丑了,别说用户接受不了,就连我们自己本身可能都接受不了。虽然我们在发布程序时总会经过仔细的测试,但是难免会碰到预料不到的错误。
今天就来自定义一个程序出错时的处理,类似iphone的闪退。(虽然闪退也是用户不愿意看到的,但是在用户体验上明显比那个原生的弹窗好多了)
一、Java 知识梳理
Java&Android 基础知识梳理(0) - Java 基础知识大纲
Java&Android 基础知识梳理(1) - 注解
Java&Android 基础知识梳理(2) - 序列化
Java&Android 基础知识梳理(3) - 内存区域
Java&Android 基础知识梳理(4) - 垃圾收集器与内存分配策略
Java&Android 基础知识梳理(5) - 类加载&对象实例化
Java&Android 基础知识梳理(6) - 字节输入输出流
Java&Android 基础知识梳理(7) - Android 虚拟机
Java&Android 基础知识梳理(8) - 容器类
Java&Android 基础知识梳理(9) - LruCache 源码解析
Java&Android 基础知识梳理(10) - SparseArray 源码解析
Java&Android 基础知识梳理(11) - 浅拷贝 Vs 深拷贝
Java&Android 基础知识梳理(12) - 泛型
Java&Android 基础知识梳理(13) - 反射
二、Android 基础知识
2.1 Activity 知识梳理
Activity 知识梳理(1) - Activity 生命周期
Activity 知识梳理(2) - Activity 栈
Activity 知识梳理(3) - Activity 状态保存和恢复
2.2 Fragment 知识梳理
Fragment 知识梳理(1) - Fragement 源码解析
Fragment 知识梳理(2) - Fragment 状态保存和恢复
Fragment 知识梳理(3) - FragmentPagerAdapter 和 FragmentStatePagerAdapter 解析
Fragment 知识梳理(4) - FragmentPagerAdapter 和 FragmentStatePagerAdapter 的数据更新问题
2.3 RecyclerView 知识梳理
RecyclerView 知识梳理(1) - 综述
RecyclerView 知识梳理(2) - Adapter
RecyclerView 知识梳理(3) - LayoutManager
RecyclerView 知识梳理(4) - ItemDecoration
RecyclerView 知识梳理(5) - ItemTouchHelper
2.4 Loader 知识梳理
Loader 知识梳理(1) - LoaderManager 初探
Loader 知识梳理(2) - initLoader 和 restartLoader的区别
Loader 知识梳理(3) - 自定义 Loader
2.5 Android 异步任务知识梳理
Android 异步任务知识梳理(1) - AsyncTask 解析
Android 异步任务知识梳理(2) - HandlerThread 解析
Android 异步任务知识梳理(3) - AsyncQueryHandler 解析
2.6 Android 数据存储知识梳理
Android 数据存储知识梳理(1) - SQLiteOpenHelper 源码解析
Android 数据存储知识梳理(2) - Android存储目录
Android 数据存储知识梳理(3) - SharedPreference 源码解析
Android 数据存储知识梳理(4) - 数据库升级操作的处理策略
2.7 状态栏
Android 状态栏知识点总结
2.8 广播
Broadcast 知识梳理(1) - BroadcastReceiver 基本概念
2.9 Service
Service 知识梳理(1) - Service 问题整理
2.10 版本适配
Android 版本适配问题
三、开源框架
3.1 Retrofit 知识梳理
Retrofit 知识梳理(1) - 流程分析
Retrofit 知识梳理(2) - Retrofit 动态代理内部实现
3.2 OkHttp 知识梳理
OkHttp 知识梳理(1) - OkHttp 源码解析之入门
OkHttp 知识梳理(2) - OkHttp 源码解析之异步请求 & 线程调度
OkHttp 知识梳理(3) - OkHttp 之缓存基础
OkHttp 知识梳理(4) - OkHttp 之缓存源码解析
3.3 Volley
Volley 知识梳理 - Volley 源码解析
3.4 Glide
Glide 知识梳理(1) - 基本用法
Glide 知识梳理(2) - 自定义Target
Glide 知识梳理(3) - 自定义transform
Glide 知识梳理(4) - 自定义animate
Glide 知识梳理(5) - 自定义GlideModule
Glide 知识梳理(6) - Glide 源码解析之流程剖析
3.5 RxJava2 理论
RxJava 知识梳理(1) - RxJava 解析
RxJava 知识梳理(2) - RxJava2 操作符实践
RxJava 知识梳理(3) - RxJava2 基础知识小结
3.6 RxJava2 实战
RxJava2 实战知识梳理(1) - 后台执行耗时操作,实时通知 UI 更新
RxJava2 实战知识梳理(2) - 计算一段时间内数据的平均值
RxJava2 实战知识梳理(3) - 优化搜索联想功能
RxJava2 实战知识梳理(4) - 结合 Retrofit 请求新闻资讯
RxJava2 实战知识梳理(5) - 简单及进阶的轮询操作
RxJava2 实战知识梳理(6) - 基于错误类型的重试请求
RxJava2 实战知识梳理(7) - 基于 combineLatest 实现的输入表单验证
RxJava2 实战知识梳理(8) - 使用 publish + merge 优化先加载缓存,再读取网络数据的请求过程
RxJava2 实战知识梳理(9) - 使用 timer/interval/delay 实现任务调度
RxJava2 实战知识梳理(10) - 屏幕旋转导致 Activity 重建时恢复任务
RxJava2 实战知识梳理(11) - 检测网络状态并自动重试请求
RxJava2 实战知识梳理(12) - 实战讲解 publish & replay & share & refCount & autoConnect
RxJava2 实战知识梳理(13) - 如何使得错误发生时不自动停止订阅关系
RxJava2 实战知识梳理(14) - 在 token 过期时,刷新过期 token 并重新发起请求
RxJava2 实战知识梳理(15) - 实现一个简单的 MVP + RxJava + Retrofit 应用
3.7 Dagger2 知识梳理
Dagger2 知识梳理(1) - Dagger2 依赖注入的两种方式
Dagger2 知识梳理(2) - @Qulifier 和 @Named 解决依赖注入迷失
Dagger2 知识梳理(3) - 使用 dependencies 和 @SubComponent 完成依赖注入
Dagger2 知识梳理(4) - @Scope 注解的使用
四、算法知识梳理
面试算法知识梳理(1) - 排序算法
面试算法知识梳理(2) - 字符串算法第一部分
面试算法知识梳理(3) - 字符串算法第二部分
面试算法知识梳理(4) - 数组第一部分
面试算法知识梳理(5) - 数组第二部分
面试算法知识梳理(6) - 数组第三部分
面试算法知识梳理(7) - 数组第四部分
面试算法知识梳理(8) - 二分查找算法及其变型
面试算法知识梳理(9) - 链表算法第一部分
面试算法知识梳理(10) - 二叉查找树
面试算法知识梳理(11) - 二叉树相关算法第一部分
面试算法知识梳理(12) - 二叉树算法第二部分
面试算法知识梳理(13) - 二叉树算法第三部分
面试算法知识梳理(14) - 数字算法
五、Kotlin 知识梳理
Kotlin 知识梳理(1) - Kotlin 基础
Kotlin 知识梳理(2) - 函数的定义与调用
Kotlin 知识梳理(3) - 类、对象和接口
Kotlin 知识梳理(4) - 数据类、类委托 及 object 关键字
Kotlin 知识梳理(5) - lambda 表达式和成员引用
Kotlin 知识梳理(6) - Kotlin 的可空性
Kotlin 知识梳理(7) - Kotlin 的类型系统
Kotlin 知识梳理(8) - 运算符重载及其他约定
Kotlin 知识梳理(9) - 委托属性
Kotlin 知识梳理(10) - 高阶函数:Lambda 作为形参或返回值
Kotlin 知识梳理(11) - 内联函数
Kotlin 知识梳理(12) - 泛型类型参数
Kotlin 知识梳理(13) - 运行时的泛型
六、多线程知识梳理
多线程知识梳理(1) - 并发编程的艺术笔记
多线程知识梳理(2) - synchronized 三部曲之基本使用
多线程知识梳理(3) - synchronized 三部曲之锁优化
多线程知识梳理(4) - synchronized 三部曲之等待/通知模型
多线程知识梳理(5) - 线程池四部曲之 Executor 框架
多线程知识梳理(6) - 线程池四部曲之 ThreadPoolExecutor
多线程知识梳理(7) - ConcurrentHashMap 实现原理
多线程知识梳理(8) - volatile 关键字
多线程知识梳理(9) - ThreadLocal
多线程知识梳理(10) - 死锁的概念
多线程知识梳理(11) - 队列同步器实现原理 & 应用
多线程知识梳理(12) - ReentrantLock 解析
多线程知识梳理(13) - ReentrantReadWriteLock 原理
最后
题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多程序员朋友无法获得正确的资料得到学习提升,故此将并将重要的Android进阶资料包括自定义view、性能优化、MVC与MVP与MVVM三大框架的区别、NDK技术、阿里面试题精编汇总、常见源码分析等学习资料免费分享出来。
【Android学习PDF+学习视频+面试文档+知识点笔记】可以点击这里即可获取免费领取方式!
【Android思维脑图(技能树)】
知识不体系?这里还有整理出来的Android进阶学习的思维脑图,给大家参考一个方向。
【Android进阶学习视频】、【全套Android面试秘籍】
可以点击这里即可获取免费领取方式!
【Android思维脑图(技能树)】
知识不体系?这里还有整理出来的Android进阶学习的思维脑图,给大家参考一个方向。
[外链图片转存中…(img-DwlNq2Fk-1620366677915)]
【Android进阶学习视频】、【全套Android面试秘籍】
希望我能够用我的力量帮助更多迷茫、困惑的朋友们,帮助大家在IT道路上学习和发展