安卓系统怎样退出程序

安卓系统怎样退出程序,第1张

安卓程序退出有多种,每种软件设计者构思不同,方法也不同:

1、在运行某个软件界面时,一直点手机下方的 返回键,d出对话框——是否退出程序——是——退出程序;若没有d出对话框,直接回到手机桌面,说明此软件在后台运行(如qq,飞信、微信、360此类软件,步骤可参照2)

2、如qq、微信软件,运行界面——点击手机下方的菜单键——d出对话框——选择——退出——是

3、还有一种方法是在,非软件界面(手机桌面状态)——长按菜单键——d出所有运行软件的图标——按住要退出的软件——向右拖移即可

您好,方法

1、关闭手机中自动启动的软件需要在设置中设定,打开手机桌面上的设置功能。

2、在手机的设置功能界面中找到应用管理下方的更多应用选项并点击。

3、进入到应用管理界面后,在顶部的菜单栏中找到权限选项并点击该选项。

4、点击后会打开授权管理界面,在这个界面中第一个选项就是自启动管理,点击它。

5、在自启动管理界面中上方的是开启自动启动的软件,下方的是禁止启动的软件,想要关闭自动启动的软件只需要点击该软件后方的按钮。

6、当该软件的选项由蓝色变为灰色的话则表示已经关闭了该软件的自动启动,想要打开的话只需再次点击。

其实Android系统设计的理念就是要淡化用户对后台的管理,手机资源的分配完全交给系统就可以。Android会设定一个阈值,这个阈值默认设置的非常小,所以我们所看到内存剩余量也会很少,事实上并不会影响手机的速度。下面是我收集整理的安卓手机后台程序无法关闭怎么办,欢迎阅读。

安卓手机后台程序无法关闭怎么办

关于Android的后台一直关不掉的问题,其实完全是因为Android的广播机制。简单来说,当用户安装某一个程序的时候,系统会像面试官一样把这个程序的功能记录下来,当用户在使用手机时,系统状态的变化会产生各种事件,这些事件需要一些程序来处理的时候,系统会发送广播消息,而这些能处理这件事的程序会被启用,究竟是用哪一个程序,这个是由系统默认的程序或者由用户选择的程序来处理这个事件。

举个例子:就如同你开了一家公司,Android是你的管家,那些程序则是来你这里应聘的职工,管家会记录这些职工的能力,例如A会搓澡,B会大保健。当你想要搓澡的时候,管家会叫A过来帮你搓澡。当你想要大保健的时候,管家会叫B过来给你做个大保健。哪怕这个程序是在休眠中,也会被叫起来。也就是不管你怎么去关闭这些应用程序,当需要它的时候,它就是一颗螺丝钉,哪里需要哪里钉。

当然还有一些你不需要的程序也一直在自启动,这是因为利益的原因,国内的很多流氓软件都改变了自身程序的优先性,外加增加了终止其他程序的权限,还有增加守护进程的功能,当检测到自己人被干掉了,直接一个复活术让这个程序满血满蓝原地复活。而另外一些社交软件则是为了保证能够及时推送消息,也会做出一些优先权的改变。

如果运行内存大,是不是就不需要关闭了?

其实Android系统设计的理念就是要淡化用户对后台的管理,手机资源的分配完全交给系统就可以。Android会设定一个阈值,这个阈值默认设置的非常小,所以我们所看到内存剩余量也会很少,事实上并不会影响手机的速度,而且它有一个自己的规则来回收这些内存,当内存使用达到临界值的时候,再次打开另一个程序系统会选择一些重要性比较低的程序关闭来腾出内存给这个程序运行。

而我们之所以感觉手机在打开某个大型程序会慢的原因就是当你打开这个程序的时候,这个程序会向系统申请内存,由于系统不会关闭所有的进程,只是选择性的去关闭,所以会调动大量的系统资源进行 *** 作,自然也就会拖慢系统。改变系统的阈值会改善很多,但是也可能会带来一些问题。

所以,后台的程序本身就不需要关闭,如果当你运行某个大型程序的时候可以去手动关闭,这样可以显著的提高速度,而平常使用的时候则不需要去管它。至于内存的大小,这个除非你内存大到一定程度,否则你安装N多APP早晚又会达到这个阈值的。

关闭手机后台运行程序

方法一、在应用上退出程序

现在很多软件游戏在退出后是不会在后台继续运行的,像这类应用我们只需在应用界面点击手机“返回键”两次即可退出,或者在应用设置处点击退出即可。

方法二、在手机设置里关闭程序

如果手机应用在前台关闭后仍然会运行,您也可以在手机设置里对程序进行关闭。

1、在手机“设置”里找到“应用程序”,在应用列表里找到该应用,如下图所示。

2、点击应用图标打开设置页面后点击“强行停止”即可。

方法三、用第三方软件关闭程序

现在很多手机管理软件都有关闭程序的功能,像360手机卫士、腾讯手机管家、高级任务管理器之类的软件都可以实现。这里就以360手机卫士为例为大家讲解一下。

1、打开360手机卫士,在“手机加速”里找到“内存清理”并点开,如下图所示。

2、在“内存清理”页面选择需要清理的应用进程,有些如百度输入法这类常用的软件可以不用清理,然后选择“一键清理”即可,如下图所示。

3、此外360手机卫士安装后在手机屏幕上会有个如下图显示所占内存百分比的小图标,点击打开小窗口,点击某个会关闭该应用,也可以点击“一键清理”关闭所有前台应用。

手机中有些小软件占用的内存是很小的,对于这些软件如果用户常用的话是不需要去关闭其后台程序的,这样能加快您下次启动该软件的时间,增加用户体验。而对于占内存比较大的软件游戏,我们可以手动对其进行关闭,保障系统运行的流程,也能节省手机电量。

强制结束关闭后台

首先是打开"设置",然后找到"应用程序"点击进入,找到"管理应用程序"后点击,进入"正在服务的程序"选项,找到想结束的程序进入后点击"强制结束"即可。

项目中我们往往要用到关闭程序时销毁所有的activity,而且这也是面试经常遇到的问题,退出程序的方式也有好几种,一下是一些处理关闭程序的方法:

1最简单的方式就是使用系统的方法exit(0),这是最简单粗暴的方式,强制程序退出,但是这种方法针对部分机型有可能不太好使,退出时有可能出现程序崩溃的d出框,或者程序会重新启动,这对用户体验来说不是很好。

2抛出异常强制退出,这种方法的使用对用户体验来说简直就是灾难,所以就不要用这种方式了。

3使用广播的方式通知activity进行关闭,这种方式也有人在用,大家可以自行百度下,我主要介绍下面这种方式。

4使用application,在application中创建activity集合,创建添加以及删除activity的方法,并且在BaseActivity中的生命周期中调用这些方法,在使用的时候调用BaseApplication的方法,这也是目前最常用的方法,但是这种在BaseActivity中添加activity的方法也有一个问题,那就是当你要使用第三方的BaseActivity的时候,一个还好你可以继承,那如果要使用两个第三方的BaseActivity呢, Java 本身是单继承的,所以就会导致activity关闭不全了。那么这个问题的解决就要依靠一接口: ActivityLifecycleCallbacks ;这是Application中声明的一个接口,其内容如下:

@Override

public voidonActivityCreated(Activity activity,Bundle bundle) {

Loge("onActivityCreated---","is running"+"--"+activitygetLocalClassName());

}

@Override

public voidonActivityStarted(Activity activity) {

Loge("onActivityStarted---","is running"+"--"+activitygetClass()getCanonicalName());}

@Override

public voidonActivityResumed(Activity activity) { Loge("onActivityResumed---","is running"+"--"+activitygetClass()getCanonicalName());}

@Override

public voidonActivityPaused(Activity activity) { Loge("onActivityPaused---","is running"+"--"+activitygetClass()getCanonicalName());}

@Override

public voidonActivityStopped(Activity activity) { Loge("onActivityStopped---","is running"+"--"+activitygetClass()getCanonicalName() );}

@Override

public voidonActivitySaveInstanceState(Activity activity,Bundle bundle) { Loge("onActivitySaveInstanceState---","is running"+"--"+activitygetPackageName());}

@Override

public voidonActivityDestroyed(Activity activity) { Loge("onActivityDestroyed---","is running"+"--"+activitygetPackageName());}

大家可以看到这些方法名采用的都是英语中的过去式命名,其意大家看方法名也应该懂了,就是activity执行过得生命周期都会在这里调用,想要这些方法执行要调用

registerActivityLifecycleCallbacks(this);

这个方法,记得一定要调用啊,还有请记住这些回调是针对所有的Activity哦,所以我们就可以使用这样的方式去对activity进行关闭或者其他 *** 作了。下面有一种存放activity的方式,喜欢的可以使用:

private staticWeakReferencecurAct;

private staticWeakHashMapacList=newWeakHashMap<>();

/设置当前activity

@paramact/

public static voidsetCurActivity(Activity act) {curAct=newWeakReference<>(act);acListput(act, null);}

/获取想要的activity@return/

public staticActivitygetCurActivity() {if(acList==null||acListisEmpty())return null;WeakReference wr =curAct;if(wr !=null) {returnwrget();}return null;}

/清理activity@paramact/

public static voidclearCurActivity(Activity act) { Object remove =acListremove(act);if(remove !=null&& TextUtils equals(removegetClass()getSimpleName(),curActget()getClass()getSimpleName())) {//TODO You want to do something}}/销毁所有的activity/public static voiddestroyAllActivity() {if(null!=acList&& !acListisEmpty()) { Object[] keys =acListkeySet()toArray();for(Object obj : keys) { Activity act = (Activity)obj;if(act !=null) { actfinish();} } }}

/关闭某个activity@paramactivity/

public static voidcloseActivity(String activity) {if(null!=acList&& !acListisEmpty()) { Object[] keys =acListkeySet()toArray();for(Object obj : keys) {if(obj !=null&& activity !=null&& TextUtilsequals(objgetClass()getSimpleName(),activity)) { Activity act = (Activity)obj;actfinish();} } }}

下面是CSDN地址: 原文链接

如果按返回键(或者全面屏手势中的左右侧边缘向内滑)无反应,可以考虑按菜单键(或者全面屏手势中的底部向上滑动并停顿),切换到应用进程总览界面,然后按“x”或者向侧面滑动那一个APP的小窗口,强制关闭那一个APP进程。

以上就是关于安卓系统怎样退出程序全部的内容,包括:安卓系统怎样退出程序、安卓手机如何关闭自己打开的程序、安卓手机后台程序无法关闭怎么办等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10111475.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存