
我正在编写一些代码,这些代码可以在设备/应用程序C2DM注册令牌更改时将某些设备保留的数据迁移到网络服务器.
最终由广播接收器(特别是接收到Google C2DM注册令牌的结果称为接收器)开始
@OverrIDepublic voID onRegistered(Context context, String registrationID) throws IOException { Log.d(TAG, "registrationID: " + registrationID); Intent selectIntent = new Intent(this, AlertMigrationService.class); this.startService(selectIntent);}(注意:我的应用程序使用扩展常规Application类的自定义应用程序类.)
我认为从技术上讲,当我的应用程序在后台(或未运行)时可以调用此接收器-那么启动我的意图服务时会发生什么?是否假脱机整个应用程序并创建Application类的实例?
从IntentService内部调用Application类上的静态方法对我来说是否安全(甚至是个好主意)? (这些静态方法具有在Application.onCreate中初始化的返回对象)
@R_301_6120@:
当您的IntentService启动时,如果您的应用程序尚未运行,它将创建您的Application类的实例.如果您的应用程序仍然存在,您将能够按原样访问已修改的特定于应用程序的对象.但是,如果您的应用程序被终止,然后br启动服务,则会创建整个应用程序的新实例.静态方法不会提供您当时所需的值.我建议将数据保留在某处,而不依赖于应用程序生命周期.
总结以上是内存溢出为你收集整理的android-IntentService是否从BroadcastReceiver开始创建了Application类的实例?全部内容,希望文章能够帮你解决android-IntentService是否从BroadcastReceiver开始创建了Application类的实例?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)