今天在做Launcher项目时,需要显示所有app,并且点击调用,在调用时,遇到一个崩溃问题。在此做一记录。

问题:在本地写的一个demo应用,里面有一个bug,点击这个demo应用,应用崩溃。在launcher应用中也点击调用这个demo应用,demo应用崩溃后,我的launcher应用也跟着崩溃。但是异常日志报了一些其它的错误 ,我这里的错误是

Activity com.example.XXX .MainActivity has leaked IntentReceiver com.example.XXX.xxxView tha was originall registered here.Are you missing a call to unregisterReceiver()?

由于我的launcher程序中有用到Broadcast,所以我把所有注册Broadcast和unregisterReceiver的地方全部注释掉,但是问题依然没有解决,还是会导致我的launcher应用崩溃。所以继续查找原因后发现,在日志中,有两行黄色的日志,

PID:1696 , TID:4083 , Application  : system_process   Tag : ActivityManager

Text : Force finishing activity 1 com.example.demo/.MainActivity

PID:1696 , TID:4083 ,Application  : system_process   Tag : ActivityManager

Text : Force finishing activity 2 com.example.XXX/.MainActivity

PID:27009, TID:27009 ,Application  : com.example.demo   Tag :Process

Text : Sending signal.  PID:27009 ,SIG:9

PID:1696 , TID:4083 ,Application  : system_process   Tag : ActivityManager

Text :Process com.example.vibrator (pid 27009) has died

原因是:

写代码中为了调试方便,我并没有在mainfest.xml中将属性设置为  launcher   中的android.intent.category.HOME

当demo程序崩溃后,由系统manager杀死了demo进程,同时,也将调用这个app的进程跟着杀死,导致我的lanucher崩溃。

由于我的程序是一个launcher程序,故我在mainfest.xml文件中将程序设置为launcher,再进行运行,这时,程序并没有退出。日志如下

PID:1696 , TID:4083 , Application  : system_process   Tag : ActivityManager

Text : Force finishing activity 1 com.example.demo/.MainActivity

这里只打印了一次,说明,系统并没有杀死我的launcher程序。

分析:当一个应用利用intent调用启动另一个进程的app时,如果这个app崩溃,系统会自动检测调用它的程序是不是一个launcher程序,如果是,那么就不将这个调用它的程序杀死,如果不是,则将调用者的进程也杀死。

对于跨进程通讯,这里不做分析,原因是  跨进程通讯是通过aidl调用Service接口来进行通讯,同时系统架构中设有程序保活功能。故即使调用另一个进程来通讯,即使它有bug,也不会造成本app跟着崩溃。(注:这里我也不懂,只是领导跟我这样解释的)

Android 利用Intent启动另一个app应用时,一个崩溃的问题相关推荐

  1. Android利用activity启动模式退出整个应用

    Android利用activity启动模式退出整个应用 作者:翔星幻羽发布于:02月22日 13:39访问(22)评论(0) Android利用activity启动模式退出整个应用 分类: andro ...

  2. 利用Intent启动Activity

    利用Intent启动Activity Intent是一种轻量级消息传递机制,可以在同一应用程序内部的不同组建之间传递信息,也可以在不同应用程序的组建之间传递消息,还可以做诶广播时间发布android系 ...

  3. 安卓开发之如何利用Intent对象,实现Activity和另一个Activity之间的跳转

    1.在一个安卓项目中,如果仅有一个Activity,直接在AndroidManifest.xml配置文件中进行配置,如果有两个Activity,要实现直接的跳转,则需要调用Intent对象,其中主要的 ...

  4. android intent分享第二次,Android利用Intent.ACTION_SEND进行分享

    安卓系统本身可以很简便的实现分享功能,因为我们只需向startActivity传递一个ACTION_SEND的Intent,系统就为我们弹出一个应用程序列表.其实在系统的文件管理器中,这应该是我们常用 ...

  5. android启动播放器,android – 使用Intent启动Media Player

    我正在开发我的第一个 Android应用程序.这是录音应用程序.我正在使用MediaRecord录制语音,如下所示: mRecorder = new MediaRecorder(); mRecorde ...

  6. Android使用Intent启动Service的Intent必须是显式的

    今天使用Intent来启动Service时,代码如下: //为 Intent设置Action属性 intent.setAction("com.hust.service");star ...

  7. Android 利用属ObjectAnimator,AnimatorSet性动画绘制一个弹球,加速下落,到底部时挤压,然后减速上弹...

    属性动画主要的几个类介绍: 1.ValueAnimator:这个类提供了一个简单的计时引擎运行动画动画计算值和设置目标对象.注意:使用该类时一般都是用:ObjectAnimator,而基于Object ...

  8. 【Android】一个APP检测另一个APP的Service被杀死时自动重启服务

    例如:appA要检测启动appB中的service ##1.修改B中Service启动时的FLAG @Overridepublic int onStartCommand(Intent intent, ...

  9. android 方法统计,Android 利用编译时 注入 统计App内所有方法执行时常,分析ANR

    Git传送门 1.应用场景 Android Studio提供了很多性能分析工具,分析CPU耗时,分析内存,但主要是给我们开发阶段使用,而且应用起来也不方便,如果我们能在APP运行的时候捕获所有方法的时 ...

最新文章

  1. libevent使用IOCP网络模型的示例
  2. 如何自定义IHttpHandler
  3. Python之路,Day9 - 线程、进程、协程和IO多路复用
  4. muduo for v210
  5. OpenShift 4 之通过直接访问内部的 Image Registry 操作容器镜像
  6. R 中同步进行的多组比较的包:npmc
  7. java搜寻范围在哪设定_查找值在Java中的范围
  8. 【转】WPF 窗体淡入淡出动画
  9. socket.onmessage没有接收到服务器消息_IM服务器设计-如何解决消息的乱序
  10. 资源---2020考研---英语网站---资料3(考研英语,英语学习。宣言:自从用了这个英语网站,七大姑八大姨开始担心他家孩子比不过我了~~~~~~~~~FT中文网)
  11. iOS维码的生成和扫描
  12. 深入理解JVM虚拟机之内存管理
  13. 通过经纬度获取地理位置
  14. MySQL FOR UPDATE 锁级别
  15. 微型计算机增刊2016,科幻世界·2016年增刊
  16. 公司注销又有新变化! 财务人要知道的公司注销新规定
  17. asp和asp.net有什么区别?
  18. 从一名白纸交易者到稳定盈利交易员需要多长时间?
  19. 旋转编码器(rotary encoder)旋转方向的判断
  20. 人力资源知识图谱搭建及应用

热门文章

  1. 如何批量将png格式改成jpg?
  2. rust油桶用什么打_文明重启油桶获取使用攻略_文明重启油桶怎么获取和使用_玩游戏网...
  3. 报表相关的同比和环比
  4. 彻底搞懂编码ASCII、Unicode、GBK 和 UTF8 、UTF-16、UTF-32编码方式(非常经典)
  5. 【戒焦戒躁,can win】Linux--IO缓冲区
  6. 如何制作自己的图片数据集-基于tensorflow
  7. 个人笔记 springboot整合shiro实现权限管理,前端使用vue 10155
  8. html手机端自动全屏,HTML5在手机端实现视频全屏展示方法
  9. 网页导出pdf不完整_网页文本无法复制?学会这3个套路,一分钟帮你突破限制...
  10. php会员到期怎么判断,织梦用php判断检测会员是否登录并返回会员相关信息