掘金安卓入门基础知识篇(vip课程)部分课程知识总结

141 阅读2分钟

我正在参加「兔了个兔」创意投稿大赛,详情请看:「兔了个兔」创意投稿大赛

安卓入门基础知识篇(掘金vip课程)部分课程知识总结

课程链接

juejin.cn/course/byte…

image.png

安卓技术发展

  • 基础:靠谱的工程师(确定的东西)
  • 项目:重要的项目 无明确的要求 (需要去优化功耗)
  • 技术专家 (规范由谁支配) 架构设计(需求大要求高,去完善大型的项目安全性拓展性 )
  • 技术管理
    重点:到达最高一步都有难度,走向未知,体验挑战的快乐

API: 不需要全部挨个详细的看完 大概看一遍api大概有哪些 用到了就直接看相关的就行

安卓的一些深层开发

安卓ndk开发 runtime(原生c c++)优化 音视频 相机传感器 HAL提供api 传感器ar相关会设计 安卓最底层linux内核 涉及内存管理线程管理

APK

image.png
本质是压缩格式 安装会解压 代码都编译成dex文件 lib放c c++的so代码 执行效率要特别高就放里面 x86文件 META-INF安全校验 app反编译然后发布手机用户信息

安卓实现图库(图片浏览器)

image.png 实现图片浏览器 需要activity 相册 大图 拍照 旋转大图 单一首页(大图页面,只能有一个首页)

image.png

image.png
页面全遮挡 遮挡恢复

image.png


配置发生改变时直接杀死重建 布局、数据绑定就在onCreat() 键盘显示隐藏configChange配置
在那些场景回调哪些生命周期

image.png

重点: 记录用户的使用时间要在onResume与onStop/onPause 完全遮挡/部分遮挡/配置变更(会让保存数据)
后台回收杀死进程是可能不会告诉,适配系统给的4.0/5.0的生命周期 数据保存在onStop/onPause

可能出现的bug

接电话后再打开之前打开的图库,图库Crash +,由于系统回收,接电话时页面回收再回去就没有相应的数据,数据被回收,导致空指针。 常见的还有Activity与Fragment的回收,Activity回收把Fragment也回收了,导致空指针。

解决办法:
  1. 判断资源是否为空
  2. 以及saveInstance保存数据。