代码之家  ›  专栏  ›  技术社区  ›  S qasem

Android内存性能

  •  0
  • S qasem  · 技术社区  · 6 年前

    关于Android内存优化,我有两个问题:

    1. 在Android中,使用全局字段还是本地字段,哪个内存更贵?
    2. dagger依赖注入-使用对象(服务、视图模型….)是否更好在@applicationScope或@activityScope中
    1 回复  |  直到 6 年前
        1
  •  0
  •   Telvin Mathew    6 年前

    局部变量存储在堆栈上,当函数完成时,局部变量也会消失。全局变量始终存在,并在整个程序的生命周期内使用它们的内存。最好声明一个最接近其使用位置的变量。因此,应首选局部变量。

    关于dagger 2自定义范围,只要应用程序对象存在,@ApplicationScope中范围内的实例就会存在,只要活动存在,@ActivityScope就会保留引用。因此,对象应该在所需的范围内。如果仅在活动或其托管片段中需要它,请使用@ActivityScope,或者如果需要应用程序范围中的singleton对象,请在ApplicationScope中定义它。

    希望这对你有帮助。