我正在参加「兔了个兔」创意投稿大赛,详情请看:「兔了个兔」创意投稿大赛
安卓入门基础知识篇(掘金vip课程)部分课程知识总结
课程链接
安卓技术发展
- 基础:靠谱的工程师(确定的东西)
- 项目:重要的项目 无明确的要求 (需要去优化功耗)
- 技术专家 (规范由谁支配) 架构设计(需求大要求高,去完善大型的项目安全性拓展性 )
- 技术管理
重点:到达最高一步都有难度,走向未知,体验挑战的快乐
API: 不需要全部挨个详细的看完 大概看一遍api大概有哪些 用到了就直接看相关的就行
安卓的一些深层开发
安卓ndk开发 runtime(原生c c++)优化 音视频 相机传感器 HAL提供api 传感器ar相关会设计 安卓最底层linux内核 涉及内存管理线程管理
APK
本质是压缩格式 安装会解压 代码都编译成dex文件 lib放c c++的so代码 执行效率要特别高就放里面 x86文件 META-INF安全校验 app反编译然后发布手机用户信息
安卓实现图库(图片浏览器)
实现图片浏览器 需要activity 相册 大图 拍照 旋转大图 单一首页(大图页面,只能有一个首页)
页面全遮挡 遮挡恢复
配置发生改变时直接杀死重建 布局、数据绑定就在onCreat() 键盘显示隐藏configChange配置
在那些场景回调哪些生命周期
重点:
记录用户的使用时间要在onResume与onStop/onPause 完全遮挡/部分遮挡/配置变更(会让保存数据)
后台回收杀死进程是可能不会告诉,适配系统给的4.0/5.0的生命周期 数据保存在onStop/onPause
可能出现的bug
接电话后再打开之前打开的图库,图库Crash +,由于系统回收,接电话时页面回收再回去就没有相应的数据,数据被回收,导致空指针。 常见的还有Activity与Fragment的回收,Activity回收把Fragment也回收了,导致空指针。
解决办法:
- 判断资源是否为空
- 以及saveInstance保存数据。