代码随想录(一):对于工具类、单例类、Activity、Context、this指针的理解

85 阅读2分钟

今日思考(2022.6.24)

工具类:

  • 什么样的东西会放到工具类里面去?

    • 封装通用的操作,例如网络请求等;
    • 工具类是否为单例并无特殊规定

单例类:

  • 什么样的东西需要放到单例类里面:主要从避免OOM的角度出发

    • 需要大量消耗系统资源的东西,就需要放到单例类里面

      • 相机,数据库操作等

关于Activity的理解:

  • 职责:只负责提供UI控件,不处理具体的任务,在项目中充当管理者的角色
  • 开发模式:一般会为每一个功能编写一个Activity,而这个功能中的具体实现细节应当交给Fragment进行处理
  • Activity的痛点:Activity 实际上是不能完全避免处理业务逻辑的,例如需要为Activity中的TextView做一个onClick操作;那么,有一种折中的办法,就是将这个TextView传给另外一个类进行处理

关于Android Context

  • 在某一个类中需要使用Context,特别是工具类,那么不能去简单继承Activity(子类);因为Activity是提供UI的,正确做法是为该类声明一个Context属性,在需要使用这个类(实例化的时候),将Context(调用者的this)传进来
  • 但是需要注意的是,我们在调用者(一般是Activity)使用完这个类,进行销毁的时候,要将这个传进来的Context 一同销毁掉

Android 中的this指针

  • 职责一:作为调用者的实例

    • 比如说,我们可以通过this.xxx 获取调用者的类属性
  • 职责二:当传入的参数与类的参数同名时,this.param--->指代的是调用者本身的参数并非入参

    • 这点在类的构造方法中十分常见