客户端基础知识必备笔记(一) | 青训营笔记

189 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第9天

认知方法

What -> Why -> How

  • What:即先对一件事物有个大致的了解,明白它是什么。
  • Why:然后去思考为什么要使用或者学习这个事物,即明白这件事物的意义,它会有着什么样的作用。
  • How:接着我们来学习如何使用或者运用这个事物,即实践的过程。

Android-Basics-Cognitive-Approach-What-Why-How.png

开发者视角

站在开发者的视角来看:

  • What对应代码+资源,即开发者平常会经常用到的就是代码和资源。
  • Why对应赚钱+热爱,即我们为什么要用到代码和资源,一方面是为了谋生赚钱,另一方面是去做自己真正热爱的事情,虽然做不了改变世界那么大,但能为一部分人带来便利也是件很有成就感的事。
  • How对应知识+经验,即我们要怎么去写代码、怎么获取资源,一方面我们汲取大量的知识,来为代码质量提供保障,另一方面我们要学会使用工作或学习中的经验,来帮助我们更快的写出好代码等。

Android-Basics-Cognitive-From-Developer.png

用户视角

站在用户的视角来看:

  • What对应界面、互动、记忆等,即用户对一个产品的基本认知。
  • Why对应工具、视频、游戏等,即用户选择一个产品的理由。
  • How对应应用商店、搜索引擎、官网下载、第三方引流等,即用户接触产品的方式。

Android-Basics-Cognitive-From-User.png

Android基础组件

界面组件

Activity & Fragment

Activity

基本用法
  • What:界面容器,常用来承载App中的界面。

  • Why:

    • 前台交互
    • 程序入口
    • 布局容器
  • How:AndroidManifest.xml中注册 -> res/layout下编写对应的布局文件 -> Activity对应的Class中绑定布局

生命周期
  • 启动退出场景:

    • 启动:onCreate() -> onStart() -> onResume()
    • 退出:onPause() -> onStop() -> onDestroy()
  • 部分遮挡:

    • 遮挡:Resumed --onPause()-->Paused
    • 恢复:Paused --onResume()--> Resumed
  • 完全遮挡:

    • 遮挡:Resumed --onPause()-->Paused --onStop()--> Stopped
    • 恢复:Stopped --onRestart()--onStart()--> Started --onResume()--> Resumed
  • 配置变更:

    • 未配置(android:configChanges):

      • 销毁:onPause() -> onStop() -> onSaveInstanceState() -> onDestroy()
      • 重建:onCreate() -> onStart() -> onRestoreInstanceState() -> onResume()
    • 已配置(android:configChanges):onConfigurationChanged()

  • 后台回收:

    • 销毁:没有时机处理
    • 重建:onCreate() -> onStart() -> onRestoreInstanceState() -> onResume()
启动模式
  • Standard:默认模式,不复用Activity
  • SingleTop:栈顶Activity复用
  • SingleTask:栈内Activity复用
  • SingleInstance:系统内Activity复用