㈠ android 5.0系统app经常重启怎么办
很多用户报告说,安卓5.0中的应用似乎会在后台频繁重启,明显不正常,而且如果设备长时间不重新启动一次,系统和应用的性能也会大大下降,老早轮反应开始迟钝。
安卓的后台管理机制一直颇受诟病,安睁携卓5.0虽然没有明确提及这方面的变化,但改进是必然的,只不过因为同时引入了64位架构支持,ART运行时变为默认,难免会带来一些意想不到的问题。
你离开一个侍信安卓应用的时候,如果没有选择退出,它会驻留在后台,等待你回去,或者在系统需要内存的时候自动关闭它,但是在安卓5.0里,即便是某个应用有着持续的通知(比如说音乐播放器),也会经常被关闭。
这可能是安卓5.0的内存管理机制出了点小故障,在内存余量还很充足的时候就过于频繁地关闭应用,或者是内存泄露。
ps:因为android5.0使用了新的一些框架与技术,而我们的app可能不兼容所以导致此原因了,在系统未成熟之前 最好不要升级吧。
㈡ Android App 开机自启动
<article class="_2rhmJa">
Android 设备开机自启动的可以用广播实现,因为 Android 设备开机时会发送一条开机广播 "android.intent.action.BOOT_COMPLETED"。接收后实现启动就完成了。
接下来是准备工作
如果按照上面的全部步骤后操作后,重启没有自动启动程序,怎么办呢?是怎么回事呢?
*那么首先请检查一下你的手机是不是安装了360等安全助手之类的软件,如果有,请在软件的自启动软件管理中将app设置为允许
*我的手机没有安装这些软件,但是手机中自带了安全助手,有的手机系统设置里面自带了自启动软件管理的功能 ,所以在这里将我们的app设置为允许开机启动),重启手机,测试是否成功。
然而并没有成功
接收不到BOOT_COMPLETED广播可能的原因
(1)、BOOT_COMPLETED对应的action和uses-permission没有一起添加
(2)、应用安装到了sd卡内,安装在sd卡内的应用是收不到BOOT_COMPLETED广播的
(3)、系统开启了Fast Boot模式,这种模式下系统启动并不会发送BOOT_COMPLETED广播
(4)、应用程序安装后重来没有启动过,这种情况下应用程序接收不到任何广播,包括BOOT_COMPLETED、ACTION_PACKAGE_ADDED、CONNECTIVITY_ACTION等等。
Android3.1之后,系统为了加强了安全性控制,应用程序安装后或是(设置)应用管理中被强制关闭后处于stopped状态,在这种状态下接收不到任何广播,除非广播带有FLAG_INCLUDE_STOPPED_PACKAGES标志,而默认所有系统广播都是FLAG_EXCLUDE_STOPPED_PACKAGES的,所以就没法通过系统广播自启动了。所以Android3.1之后
(1)、应用程序无法在安装后自己启动
(2)、没有ui的程序必须通过其他应用激活才能启动,如它的Activity、Service、Content Provider被其他应用调用。
存在一种例外,就是应用程序被adb push you.apk /system/app/下是会自动启动的,不处于stopped状态。
并不太懂 我的APP启动后 已经收到广播
第一种方式 我再模拟器上 测试 可以 android 9.0版本
桌面设置也会把你的app当成一个桌面主题,还有一个选项是系统桌面,你需要设置成自己的app
如果找不到桌面设置选项,可以从手机设置–应用程序-查看所有应用程序(包括系统的应用程序),找到桌面程序之类的字眼的应用,清楚其默认设置。
㈢ 为什么Android应用异常后会自动重启
1.Android是一种以Linux与java为基础的开放源代码操作系统,主要使用于便携设备。中国大陆地区较多人使用“安卓”。Android操作系统最初由Andy Rubin开发,被谷歌收购后则由Google公司和开放手机联盟领导及开发,主要支持手机与平板。
Android本身是一个权限分立的操作系统。在这类操作系统中,每个应用都以唯一的一个系统识别身份运行(Linux用户ID与群组ID)。系统的各部分也分别使用各自独立的识别方式。Linux就是这样将应用与应用,应用与系统隔离开。
2.Android应用异常后会自动重启是Android应用异常后的安全警报!
所以你是用Android手机时偶尔会因为某些异常导致正在使用的应用出现异常并强制关闭并重启,
3,解决此类问题你需要捕获出现的异常并做处理。这些在你手机的设置中就可进行设置,主动权在你,在Java中有两类异常,分别是Error和RuntimeException,前者是不需要我们去处理的,我们处理的往往是后者。那么如何捕获线程在运行时的异常呢,我们可以使用自定义类实现
Thread.UncaughtExceptionHandler 接口并复写uncaughtException(Thread thread, Throwable ex)方法来实现对运行时线程进行异常处理。在Android中我们可以实现自己的Application类,然后实现 UncaughtExceptionHandler接口,并在uncaughtException方法中处理异常,这里我们关闭App并启动我们需要的Activity,下面看代码:
public class MyApplication extends Application implements
Thread.UncaughtExceptionHandler {
@Override
public void onCreate() {
super.onCreate();
//设置Thread Exception Handler
Thread.(this);
}
@Override
public void uncaughtException(Thread thread, Throwable ex) {
System.out.println("uncaughtException");
System.exit(0);
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |
Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
}
最后需要在Manifest中配置Application的标签android:name=".MyApplication",让整个应用程序使用我们自定义的Application类,这样就实现了当应用遇到崩溃异常时重启应用的效果。
我们在任意一个Activity中主动抛出下面异常,就会发现应用遇到异常后重启了,如果不处理的话,应用在遇到异常后就关闭了。
1.我们需要首先收集产生崩溃的手机信息,因为Android的样机种类繁多,很可能某些特定机型下会产生莫名的bug。
2.将手机的信息和崩溃信息写入文件系统中。这样方便后续处理。
3.崩溃的应用需要可以自动重启。重启的页面设置成反馈页面,询问 用户是否需要上传崩溃报告。
4.用户同意后,即将2中写入的崩溃信息文件发送到自己的服务器。
㈣ 为什么Android应用异常后会自动重启
通常是注册察败逗了广播接收者BroadcastReceiver
因为安卓系统,有非常多枯饥的广播,例如网络状态改变就会发送广播,开败卖机,也会发送广播
安装卸载应用也会发送广播,等等
那么程序就可以在广播中启动service,
而service中有个onStartCommand 有个返回值,就是告诉android 如果进程被kill
怎么处理,可以设置为重启
㈤ 为什么Android应用异常后会自动重启
就是部分产商优化不够的问题,有些产商在运用异常后引起 系统的不良反应导致重启,死机、。
大部分情况下运用异常是不会出现重启的现象。
㈥ 求助:为什么Android应用异常后会自动重启
是在开发app时设置的相关功能,参考代码:
假如开发的app有这空薯个需求的话:崩溃后自动重启或者捕获异常信息。你可以参照下文:
package com.tan.abnormalrestart;
import java.lang.Thread.UncaughtExceptionHandler;
import android.app.Application;
import android.content.Intent;
public class AppContext extends Application
{
protected static AppContext instance;
public void onCreate() {
super.onCreate();
instance = this;
Thread.(restartHandler); // 程序崩溃时触发线程 以下用来捕获程序崩溃异常
}
// 创建服务用于捕获崩溃塌亏返异常
private UncaughtExceptionHandler restartHandler = new UncaughtExceptionHandler() {
public void uncaughtException(Thread thread, Throwable ex) {
restartApp();//发生崩溃异常时,重启应用
}
};
public void restartApp(){
Intent intent = new Intent(instance,MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
instance.startActivity(intent);
android.os.Process.killProcess(android.os.Process.myPid()); //结束进程之前可以把你程序的注销或者退出代码放在这段代码之前
}
}
这个团饥是application级别的应用
其实关键还是UncaughtExceptionHandler类
㈦ 为什么Android应用异常后会自动重启
这是人为设置的,通常程序在崩溃后,喊辩有3种处理方式,1直接关闭,2重新启动应毁猜用,3 如果崩溃的页面为子级页面,则返回到上一层页面。.Android应用异常后会自动重启是Android应用异常后的安全警报! 所以是用Android手机时偶尔会因为某些异常导致正在使纤渗型用的应用出现异常并强制关闭并重启。