• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 解决Android后台清理APP后,程序自动重启的问题,androidapp

解决Android后台清理APP后,程序自动重启的问题,androidapp

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了androidapp应用签名,androidapp开发软件,androidapp,androidapp开发,androidapp下载等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

解决Android后台清理APP后,程序自动重启的问题,androidapp


  最近解决了一个Android APP的bug,发现APP在被后台清理后,会自动重启。现象很奇怪,有的手机(HTC)后台清理后,程序会再次重启,而有的手机(小米)则不会。猜想可能是小米手机内部做了处理,当执行后台清理后,对应的APP不会再重启了。

  Debug后发现,APP内部有一个Service,在Service的onStartCommand函数中,返回值是一个int。主要的两个值是START_STICKY和START_NOT_STICKY。START_STICKY的含义是如果service进程被kill掉,保留service的状态为开始状态,但不保留递送的intent对象。随后系统会尝试重新创建service,由于服务状态为开始状态,所以创建服务后一定会调用onStartCommand(Intent,int,int)方法。如果在此期间没有任何启动命令被传递到service,那么参数Intent将为null。而START_NOT_STICKY是“非粘性的”。使用这个返回值时,如果在执行完onStartCommand后,服务被异常kill掉,系统不会自动重启该服务。

  我们的程序设置的是START_STICKY,程序择机重启时,一些变量没有初始化,导致crash。改为START_NOT_STICKY后,问题解决了。但是还剩下一个问题,老大发现微信的APP不管在HTC还是小米的机器上,执行后台清理后,其Service都还在,这就很奇怪了,同事猜,可能是手机ROM中对特定的程序设置了白名单。个人觉得不大可能,但问题在于,如果所有的APP coder都可以将程序设置为不会被kill掉,为什么仅仅是微信不被kill?还是我们技术不过硬,没有找到不被系统kill的方法?

  总之,Android系统好乱,还是苹果大法好,大家都按规矩办事。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Android中实现APP文本内容的分享发送与接收方法简述,androidapp
  • 解决Android后台清理APP后,程序自动重启的问题,androidapp
  • Android合并两个APP的具体做法(掌握)

相关文章

  • 2017-05-26关于视频编辑SDK的接入说明,视频编辑sdk接入
  • 2017-05-26说说Android6.0动态申请权限的那些坑,android6.0动态权限
  • 2017-05-26手机安全卫士——进程管理,安全卫士进程管理
  • 2017-05-26Android中手机录屏并转换GIF的两种方式,android录屏
  • 2017-05-224.1.1 Activity初学乍练
  • 2017-05-26安卓开源项目周报0104,安卓开源项目0104
  • 2017-05-26Android:广播接收器(BroadCastReceiver)要点随笔。,
  • 2017-05-26Android客户端采用Http 协议Post方式请求与服务端进行数据交互
  • 2017-05-26可伸缩的textview,伸缩textview
  • 2017-05-26MHA故障切换和在线切换的代码解析

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Android SDK 与API版本对应关系,androidsdk
    • Android中SimpleAdapter的使用—自定义列表,自定义simpleadapter
    • Postgresql通过fdw_JDBC连接查询DB2\Oracle表
    • 7.3.1 Android 文件上传
    • Android开发:JSON简介&Gson、AS自带org.son、Jackson解析详解
    • Android关于Dex拆分(MultiDex)技术的解析
    • Android开发学习——应用安装过程,android开发
    • 5.2.5 Fragment实例精讲——新闻(购物)类App列表Fragment的简单实现
    • 硅谷社交6--添加联系人--发送添加好友邀请,硅谷6--
    • Android解析json数据,android解析json

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有