当前位置: 首页 > news >正文

Android——Application

Application

Application是Android的一大组件,在App运行过程中有且仅有一个Application对象贯穿整个生命周期。

生命周期

    // App启动时调用@Overridepublic void onCreate() {super.onCreate();}// App终止时调用(不一定),在应用开发中没什么意义@Overridepublic void onTerminate() {super.onTerminate();Log.d(TAG, "onTerminate");}// 配置改变时调用,例如:从竖屏变为横屏@Overridepublic void onConfigurationChanged(@NonNull Configuration newConfig) {super.onConfigurationChanged(newConfig);Log.d(TAG, "onConfigurationChanged");}

Application操作全局变量

适合在Application中保存的全局变量主要有下面3类数据:

  • 会频繁读取的信息,如用户名、手机号等。
  • 不方便由意图传递的数据,例如位图对象、非字符串类型的集合对象等。
  • 容易频繁分配内存而导致内存泄漏的对象,如Handler对象等。
public class MyApplication extends Application {private static MyApplication mApp;public HashMap<String, String> infoMap = new HashMap<>();public static MyApplication getInstance() {return mApp;}// App启动时调用@Overridepublic void onCreate() {super.onCreate();mApp = this;Log.d(TAG, "onCreate");}
}
 mApp = MyApplication.getInstance();
 mApp.infoMap.put("name", nameInput.getText().toString());
 String name = mApp.infoMap.get("name");

案例代码


http://www.mrgr.cn/news/33652.html

相关文章:

  • awd初试
  • 车辆重识别(CVPR2016图像识别的深度残差学习ResNet)论文阅读2024/9/21
  • python异常处理知识简记
  • 1542. 找出最长的超赞子字符串
  • Snap 发布新一代 AR 眼镜,有什么特别之处?
  • PCB设计中百兆以太网是否需要差分布线?
  • 皮科医生对网红药膏的说明
  • 7. 无线网络安全
  • 【.NET 8 实战--孢子记账--从单体到微服务】--特别说明
  • 以太坊客户端Geth的介绍与搭建
  • 基于SpringBoot+Vue+MySQL的校园一卡通系统
  • ECharts基础使用方法 ---vue
  • 都市女生热衷找搭子的原因?只因对生活的热爱和追求
  • vscod django项目--编辑用户信息
  • js进阶——什么是提升
  • MySQL RANGE 分区规则
  • 求两个数二进制中不同位的数
  • UML——统一建模语言
  • Git 向远程仓库推送更改时加注释
  • OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【文件系统】上