Android7.0 Messaging源码分析(2) - Application 创建篇

本文深入分析了Android 7.0中Messaging应用的源码,重点在于Application的创建过程。在BugleApplication的onCreate()方法中,主要执行了FactoryImpl的注册和设置默认的未捕获异常处理器。FactoryImpl.register()方法涉及权限检查,当获取权限后调用onRequiredPermissionsAcquired(),该方法包含同步和异步任务。同步任务初始化MMS库和APN数据库,处理发送中的消息。异步任务处理pref和MMS配置。总结起来,Application创建主要包括管理类与工具类的创建,MMS库及配置初始化,以及异常处理机制的设定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  Messaging 源码位于 packages/apps/Messaging 目录下,application类名是BugleApplication,

  在 onCreate 方法里做了两件事,
  1 FactoryImpl.register(getApplicationContext(), this);
  2 Thread.setDefaultUncaughtExceptionHandler(this);

  来看看FactoryImpl.register(getApplicationContext(), this);做了什么事情,

         public static Factory register(final Context applicationContext, final BugleApplication application) {
         // This only gets called once (from BugleApplication.onCreate), but its not called in tests.
         Assert.isTrue(!sRegistered);
         Assert.isNull(Factory.get());

         final FactoryImpl factory = new FactoryImpl();
         Factory.setInstance(factory);
         sRegistered = true;

         // At this point Factory is published. Services can now get initialized and depend on Factory.get().
         factory.mApplication = application;
         factory.mApplicationContext = applicationContext;
         factory.mMemoryCacheManager = new MemoryCacheManager(); // 创建缓缓管理器
         factory.mMediaCacheManager = new BugleMediaCacheManager(); // 创建媒体缓存管理器
         factory.mMediaResourceManager = new MediaResourceManager(); // 创建媒体资源管理器
         factory.mBugleGservices = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值