在Android中,Activity有个栈,一个Activity结信谈束掉,会回到上一个Activity,并不是退出应用程式。
Android中,退出应用程式的方式:
通过pid
int pid = android.os.Process.myPid()获取当前应用程式的PID
android.os.Process.killProcess(pid)杀死当前程序
这种方法退出应用,是会保留某些后进程,例如:Service,Notifications等。
2.通过ActivityManager
ActivityManager manager = (ActivityManager)context.getSystemService(ACTIVITY_SERVICE)获取应用程式管理器
manager.killBackgroundProcesses(getPackageName())强制结束当前应用程式
这种方式退出应用,会结束本应用程式的一切活动,因为本方法会根据应用程式的包名杀死所有程序包括Activity,Service,Notifications等。
呼叫System.exit(0);
其实还有一种方法也不错,把MainActivity设定为singleTop,先跳转到MainActivity然后finish就行,不过要注意停掉相应的Service
大家都知道 Android 的 Activity 是存著历史栈的,比如从 A ->B ->C,C 完成 finish 后喊森回到 B,把所有的Activity 都 finish了,程式就自然退出了。 当然在 finish 的同时也需要是否自己程式的其他资源。所以需要想个办法把 Activity 给存起来。然后在程式退出的地方呼叫它们的 finish()郑坦亩方法。
使用全域性变数。对了,第一个想到的就是继承 Application,程式码入下。
public class AgentApplication extends Application { private List<Activity>activities = new ArrayList<Activity>()public void addActivity(Activity activity) {activities.add(activity)} @Overridepublic void onTerminate() {super.onTerminate()for (Activity activity : activities) {activity.finish()}onDestroy()System.exit(0)}}
然后在 Activity onCreate 的时候来呼叫 addActivity (),有人可能想到这个Application需要在所有的 Activity onCreate的时候都使用,需要做一个单例例项。其实根本不需要。在 Activity 中使用 this.getApplication() 就可以了。
最后在你需要推出程式的地方呼叫 application.onTerminate() 就可以了。记住:super.onTerminate() 必须呼叫,程式码中的 onDestroy()是我自己的释放其他资源的方法,不是系统的。
执行以上程式码后,在LogCat 中会出现一行提示:
Process 包名 (pid xxxxx) has died. 证明你的程式退出了。现在你可以测试了。
有几种方法,一种是:程式退出时,下方有写 在按一次退出程式
第二种,进 设定-应用程式-正在执行 这一栏自己关
有时跳转的activity较多时,还需要多次按返回键,这样感觉一点都不爽。 后面添加了一个选单返回功能键,这个方法也只能用system.exit(0)来关闭当前活动的Activity,附程式码: public boolean onCreateOptionsMenu(Menu menu){super.onCreateOptionsMenu(menu)MenuItem item = menu.add(Menu.NONE, Menu.NONE, Menu.NONE, "Exit")item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener(){public boolean onMenuItemClick(MenuItem item){System.exit(0)return true}})return true}想到这样太不方便了,每次退出介面之后应用程式还在执行,今天查了下资料终于把这个问题给解决了, 网上提供了几种方法,我吸收了下面这个自认为简单易懂的方法,将下面SysApplication这个类复制到工程里面,然后在每个Acitivity的oncreate方法里面通过SysApplication.getInstance().addActivity(this)添加当前Acitivity到ancivitylist里面去,最后在想退出的时候呼叫SysApplication.getInstance().exit()可直接关闭所有的Acitivity并退出应用程式。 附程式码:import java.util.LinkedListimport java.util.Listimport android.app.Activityimport android.app.AlertDialogimport android.app.Applicationimport android.content.DialogInterfaceimport android.content.Intentpublic class SysApplication extends Application { private List mList = new LinkedList()private static SysApplication instanceprivate SysApplication() { } public synchronized static SysApplication getInstance() { if (null == instance) { instance = new SysApplication()} return instance} add Activity public void addActivity(Activity activity) { mList.add(activity)} public void exit() { try { for (Activity activity : mList) { if (activity != null) activity.finish()} } catch (Exception e) { e.printStackTrace()} finally { System.exit(0)} } public void onLowMemory() { super.onLowMemory()System.gc()} } 在应用程式里面 的activity的oncreate里面新增SysApplication.getInstance().addActivity(this)如:public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState)
你可以长按主屏键后,在其中关闭应用程式。但并不能完全退出执行记忆体
在手机上找到“设置”这个程序,点击打开。
2. 会出现以下的界面,有“全部设置”“常用设置”两个,选择“全部设置”后,会罗列出手机的各项设置。
3. 在全部的设亩简老置中,找到“受保护的后台程序”这一栏,点击进入。
4. 然后你会看到你的手机受到保护的各项程序,对于警示高耗电的,尽量关闭,不然会消耗电量迅升。在不想后台运行的程序的后面的对勾去掉即可。
5. 如下图的情况,即有对勾的程序是受到保护的程序,没对勾的就是不再后台运行的程序。
6. 关闭咐芹这些后台悄悄运行的程序,会节省大量的电量,也能防止流量的消耗。
安卓手机关闭后台应用方法 如何彻底退出后台应用关闭后台执行程核迅仔式,三星手机可以参考以下 *** 作方法:
1.点选最近应用程式键-点选要关闭的应用程式右上角的“X”关闭即可(如需全部关闭,点选萤幕下方的关闭全部即可)。
2.智慧管理器:智慧管理器-记忆体-要停止的后台程式前面打钩-立即清理。
3.安装第三方软体完成后会出现“应用程式许可权管理”,如不需要“自动执行”,将其保持关闭状态即可。
如何彻底关闭安卓手机的后台安卓优化大师 程式管理 可以关掉 但是它自己就会执行 暂时还没办法解决
为什么安卓手机关闭应用,后台还在执行后台执行的是快取,是应用的快取。比如说你用qq后退出,就会产生快取。例如,使用qq需要20M的RAM,你退出后qq就清理了一部分RAM,但是还会剩下一些痕迹。关闭应用不是清除应用,关闭只是关闭程式,但是快取还在,所以要手动清理
手机关闭后台应用联网一般手机系统启动后再后台都会有很多的应用程式在执行,一般大多数都是系统应用程式,这些是不能关闭的,如果强行关闭会影响手机正常执行的。
其实在安装软体时,大多数软体开发不规范,安装进手机之后会开机自起,自动在后台执行昌轿,影响手机的正常执行。这时就要安装软体可以一键关闭程式。
安卓系统如何彻底关闭后台媒体储存应用就算刷机也不能彻底关闭,因为这是手机自带的,这就是IOS和安卓的差距,IOS几乎可以无限开关并且不卡。但安卓就不行开多了会卡。
iphone怎么彻底关闭后台应用
清理后台任务如下;
手指双击iPhone底部改汪的按钮(还可以5个手指向上滑动萤幕进入后台程式介面),然后就会显示后台程式,
手指按住一个后台程式图示上方的大图,然后向上滑动萤幕就可以结束该应用程式了, 这种方式改变了以往长按图示结束程式的规则,直接上滑即可快速结束后台程式,非常快捷,
不仅可以单独结束后台应用程式,还可以同时结束多个后台执行的应用程式。两个手指分别按住两个应用程式图片,然后同时向上滑动即可结束两个应用程式。还可以使用三个手指结束应用程式。
OPPOr9如何退出后台应用?
手机锁定、清理后台程式的方法,请参考以下 *** 作步骤:
1、锁定后台程式:
①点选设定图示--常规--应用程式--正在执行--点选右边的锁图示程式设计绿色即可锁定软体程式不被清理;
②手机桌面--长按Home按键--按住程式往下方拖动--锁定后程序图片右上角限时绿色的锁;
2、清理后台程式:
①如果有程式被锁定状态,请点选设定图示--常规--应用程式--正在执行--点选右边的绿色锁--解除锁定后--点选右边的X图示或下方点选一键清理;
②下拉手机状态列--点选一键清理;
③手机桌面--长按Home按键--按住程式往上方拖动删除;如果程式被锁定,请先解除再删除程式;
④设定--应用程式管理--右下角三点--自动清理,开启开关即可(预设是开启);
⑤重启手机。
怎么能彻底关闭后台应用请问您的手机是什么型号的呢?您进入手机桌面上拉状态列点选一键加速或进入桌面的程式管理中关闭后台程式。
oppo a57如何退出后台应用?退出后台应用的方法
不同版本纯净后台的设定路径存在差异,具体如下:
1、ColorOS 3.0及以上版本,设定--电池--其他/耗电保护,点选单个程式,开启后台冻结
2、ColorOS 2.1版本,安全中心--电量节省--右上角设定,纯净后台中设定
3、ColorOS 2.0版本,手机桌面--安全中心--纯净后台
4、ColorOS1.0版本,进入手机设定--常规--安全服务(安全与隐私)--纯净后台,或者桌面--安全服务--纯净后台
5、非ColorOS版本,进入设定--个人及安全--纯净后台即可。
ColorOS2.1系统手机在息屏待机超过10分钟的时候,会自动关闭一些后台执行程式,让手机始终保持畅快体验。
注:ColorOS2.1系统手机会预设后台执行5个程式,即常用的QQ和微信,和最后开启的3个程式。
iphone 4s怎样彻底关闭后台应用方法一:连按手机上的Home键(圆键),手机萤幕的下方会出现,你之前执行过的程式,选中其中一个,按住几秒,等图示的左上角出现一个减号,点下那个减号后,就会删除程式。
方法二:如果你的Home键不是很灵了。你可以把那个辅助功能开启,步骤:设定-通用-辅助功能-AssistiveTouch(把这个开启就好)。手机萤幕上会出现一个白色的圆点,点选后会显示一些功能。
连续点两次“主萤幕”,执行程式也会出现。然后重复方法一进行删除执行程式。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)