首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >崩溃后重启本地应用

崩溃后重启本地应用
EN

Stack Overflow用户
提问于 2016-08-31 07:45:53
回答 1查看 463关注 0票数 1

在Android4.4和更低版本中,谁在启动时加载原生应用程序(/system/bin/*),我认为文件init.rc负责,对吗?

然后,如果本机应用程序崩溃(例如/system/bin/mediaserver),它会自动重启,那么问题是:谁负责应用程序重启?有文件吗?

EN

回答 1

Stack Overflow用户

发布于 2016-08-31 07:48:01

ActivityManagerService重新启动本机应用程序。

activity manager service重启应用程序时,在正常日志和/或事件日志中,logcat中通常会有一些聊天

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(logcat -b events).

更多信息:

如果您看到ActivityManagerService.finishForceStopPackageLocked()方法的代码,此方法将激发一个带有动作Intent.ACTION_PACKAGE_RESTARTED的Intent。

它是从不同的方法调用的,比如:

ActivityManagerService.forceStopPackage()

IPackageDataObserveronRemoveCompleted.onRemoveCompleted()

因此,在内部,有一个在ActivityManagerService中实现的PackageDataObserver,它观察是否有任何包被删除,如果需要重新启动,则使用动作Intent.ACTION_PACKAGE_RESTARTED触发一个意图

而且每个包都是使用ActivityManagerService.forceStopPackage()强制关闭的,它知道要重新启动哪个包。

希望这能消除疑虑。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39243627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文