androidactivity清除
⑴ 安卓如何實現所有Activity全部銷毀
寫一個activity的list,每開啟一個activity就往list裡面添加一個,結束一個activity就移除一個,全部銷毀的時候,遍歷list裡面的activity,全部結束就可以了,
或者強制退出System.exit(0);
或者拋異常退出,
⑵ android 怎麼用Intent.setFlag 清除以前的activity
android intent中設置如下flag,可以清除棧頂的activity:
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
還有其他tag如下:
1.FLAG_ACTIVITY_CLEAR_TOP:跳轉到的activity若已在棧中存在,則將其上的activity都銷掉。
2.FLAG_ACTIVITY_NEW_TASK:activity要存在於activity的棧中,而非activity的途徑啟動activity時必然不存在一個activity的棧,所以要新起一個棧裝入啟動的activity。簡而言之,跳轉到的activity根據情況,可能壓在一個新建的棧中。
3.FLAG_ACTIVITY_NO_HISTORY:跳轉到的activity不壓在棧中。
4.FLAG_ACTIVITY_SINGLE_TOP:和Activity的Launch mode的singleTop類似。如果某個intent添加了這個標志,並且這個intent的目標activity就是棧頂的activity,那麼將不會新建一個實例壓入棧中。簡而言之,目標activity已在棧頂則跳轉過去,不在棧頂則在棧頂新建activity。
⑶ android中怎麼kill掉一個activity
直接調用activity的finish()方法即可關掉當前這個activity.
在Android中,Activity有個棧,一個Activity結束掉,會回到上一個Activity,並不是退出應用程序。
Android中,退出應用程序的方式:
1.通過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等。
⑷ 如何清除一個不可見的activity
在Android中每個界面都是一個Activity,切換界面操作其實是多個不同Activity之間的實例化操作。在Android中Activity的啟動模式決定了Activity的啟動運行方式。
Android總Activity的啟動模式分為四種:
Activity啟動模式設置:
<activity android:name=".MainActivity" android:launchMode="standard" />
Activity的四種啟動模式:
1. standard
模式啟動模式,每次激活Activity時都會創建Activity,並放入任務棧中。
2. singleTop
如果在任務的棧頂正好存在該Activity的實例, 就重用該實例,否者就會創建新的實例並放入棧頂(即使棧中已經存在該Activity實例,只要不在棧頂,都會創建實例)。
3. singleTask
如果在棧中已經有該Activity的實例,就重用該實例(會調用實例的onNewIntent())。重用時,會讓該實例回到棧頂,因此在它上面的實例將會被移除棧。如果棧中不存在該實例,將會創建新的實例放入棧中。
4. singleInstance
在一個新棧中創建該Activity實例,並讓多個應用共享改棧中的該Activity實例。一旦改模式的Activity的實例存在於某個棧中,任何應用再激活改Activity時都會重用該棧中的實例,其效果相當於多個應用程序共享一個應用,不管誰激活該Activity都會進入同一個應用中。
其中standard是系統默認的啟動模式。
⑸ Android手機清理內存後Activity處於什麼情況
如果是用的內存清理軟體的話,那麼activity應該是被銷毀了,清理軟體應該調用了系統管理器裡面的結束進程的那個方法使activity的進程終止了,所以再進入的時候會報錯吧
⑹ android模擬器里的activity怎麼刪 我想把其中的一個mainactivity刪了 求救
我暈,模擬器裡面那個MainActivity是程序名,是已經裝到手機里的程序了,你到設置->程序->管理應用程序裡面找到你的程序點擊裡面有卸載~~~希望我理解對了你的意思
⑺ android studio怎麼刪除activity
1、首先你需要了解Android Studio的項目結構,在左邊欄目中切換到「project」模式,然後你會發現app文件夾,該文件夾存放項目mole,也就是你想要刪去的activity的位置
2、在該文件夾中找到你想要刪去的activity,滑鼠右鍵,delete即可
3、網路:初學Android Studio項目結構第一課,或許可以幫助到你,謝謝採納!!!
⑻ android 中怎樣能夠清除activity堆棧,也就是退出整個應用
如果退出整個程序,如下操作:方式一:Intent intent=new Intent(Intent.ACTION_MAIN);intent.addCategory(Intent.CATEGORY_HOME);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);this.startActivity(intent);System.exit(0); 方式二:android.os.Process.killProcess(android.os.Process.myPid()); android 完全退出程序有幾個activity,有一需求是在一個activityA點擊back鍵退出系統而不是跳到之前的activity首先想到的是清空activityA的堆棧,使用intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 但是該activityA不是已經存在於堆棧底端的,所以清除的只是堆棧中該activityA上面的activity,但後退後還是會返回堆棧中該activityA下面的activity。
⑼ Android 在程序運行時,有若干個activity,怎麼在退出這個Activity是,釋放掉它所佔用的運行空間
你每次退出activity的時候調用finish()稍後會自動清理釋放內存的,你可以直接在activity的onStop方法裡面寫這個方法,這樣當界面不可見的時候就會自動finish了
你可以在你的Manifest裡面的application中加
android:largeHeap="true"
android:hardwareAccelerated="true"
這樣系統就會分配更大的內存給你了
⑽ 在Android 中如何關閉應用以及所有的 Activity
Android程序有很多Activity,比如說主窗口A,調用了子窗口B,如果在B中直接finish(), 接下里顯示的是A。在B中如何關閉整個Android應用程序呢?本人總結了幾種比較簡單的實現方法。
1. Dalvik VM的本地方法
android.os.Process.killProcess(android.os.Process.myPid()) //獲取PID
System.exit(0); //常規java、c#的標准退出法,返回值為0代表正常退出
2. 任務管理器方法
首先要說明該方法運行在Android 1.5 API Level為3以上才可以,同時需要許可權
ActivityManager am = (ActivityManager)getSystemService (Context.ACTIVITY_SERVICE);
am.restartPackage(getPackageName());
系統會將,該包下的 ,所有進程,服務,全部殺掉,就可以殺干凈了,要注意加上
<uses-permission android:name=\"android.permission.RESTART_PACKAGES\"></uses-permission>
3. 根據Activity的聲明周期
3. 我們知道Android的窗口類提供了歷史棧,我們可以通過stack的原理來巧妙的實現,這里我們在A窗口打開B窗口時在Intent中直接加入標志 Intent.FLAG_ACTIVITY_CLEAR_TOP,這樣開啟B時將會清除該進程空間的所有Activity。
在A窗口中使用下面的代碼調用B窗口
Intent intent = new Intent();
intent.setClass(Android123.this, CWJ.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); //注意本行的FLAG設置
startActivity(intent);
接下來在B窗口中需要退出時直接使用finish方法即可全部退出。
4.自定義一個Actiivty 棧,道理同上,不過利用一個單例模式的Activity棧來管理所有Activity。
不過建議使用第一種方式來退出應用程序