当前位置:首页 » 安卓系统 » android程序退出

android程序退出

发布时间: 2022-06-20 04:44:56

安卓系统怎样退出程序

安卓程序退出有多种,每种软件设计者构思不同,方法也不同:
1、在运行某个软件界面时,一直点手机下方的 返回键,弹出对话框——是否退出程序——是——退出程序;若没有弹出对话框,直接回到手机桌面,说明此软件在后台运行(如qq,飞信、微信、360此类软件,步骤可参照2)
2、如qq、微信软件,运行界面——点击手机下方的菜单键——弹出对话框——选择——退出——是
3、还有一种方法是在,非软件界面(手机桌面状态)——长按菜单键——弹出所有运行软件的图标——按住要退出的软件——向右拖移即可

② Android 应用退出的几种方法

android退出运用,主要有3种常用方案。

分别是:

  1. 杀进程,暴力退出app。

  2. 系统退出,强制性退出。

  3. activity管理(栈),合理性退出。

【主要原理】

主要是通过通知系统杀死运用,或者移除所有的界面资源达到退出运用的目的。

【详细实现】

  1. 杀进程,暴力退出app。

    优缺点:暴力,但是容易丢失数据,可能会引起不必要的问题。

    代码如下:

    android.os.Process.killProcess(android.os.Process.myPid());

  2. 系统退出,强制性退出。

    优缺点:相对第一种方法温和点,谨慎使用。

    代码如下:


    System.exit(0);


  3. activity管理(栈),合理性退出。

优缺点:推荐使用,一个个移除apk打开的所有资源,达到退出apk的目的。

代码如下:


public class ScreenManager {

private static Stack<Activity> activityStack;

private static ScreenManager instance;

private ScreenManager(){

}

public static ScreenManager getScreenManager(){

if(instance==null){

instance=new ScreenManager();

}

return instance;

}

//退出栈顶Activity

public void popActivity(Activity activity){

if(activity!=null){

activity.finish();

activityStack.remove(activity);

activity=null;

}

}


//获得当前栈顶Activity

public Activity currentActivity(){

Activity activity=activityStack.lastElement();

return activity;

}


//将当前Activity推入栈中

public void pushActivity(Activity activity){

if(activityStack==null){

activityStack=new Stack<Activity>();

}

activityStack.add(activity);

}

//退出栈中所有Activity

public void popAllActivityExceptOne(Class cls){

while(true){

Activity activity=currentActivity();

if(activity==null){

break;

}

if(activity.getClass().equals(cls) ){

break;

}

popActivity(activity);

}

}

}


【最后】

推荐使用第三种方案,方便管理退出。

安卓手机怎样退出正在运行的程序

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

④ 怎么退出安卓系统触屏手机的后台程序

1、首先点击多任务键,上划后台程序,即可关闭后台程序。

(4)android程序退出扩展阅读

系统架构

Android的系统架构和其操作系统一样,采用了分层的架构。从架构图看,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux内核层。

1、应用程序

Android会同一系列核心应用程序包一起发布,该应用程序包包括客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。

2、应用程序框架

开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。

3、隐藏在每个应用后面的是一系列的服务和系统, 其中包括;

(1)丰富而又可扩展的视图(Views),可以用来构建应用程序, 它包括列表(Lists),网格(Grids),文本框(Text boxes),按钮(Buttons), 甚至可嵌入的web浏览器。

(2)内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据

(3)资源管理器(Resource Manager)提供 非代码资源的访问,如本地字符串,图形,和布局文件(Layout files )。

(4)通知管理器 (Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。

(5)活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。

4、系统运行库

Android 包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。以下是一些核心库:

(1)系统 C 库 - 一个从BSD继承来的标准C系统函数库 Libc ), 它是专门为基于Embedded linux的设备定制的。

(2) 媒体库 - 基于PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。

(3)Surface Manager - 对显示子系统的管理,并且为多个应用程序提 供了2D和3D图层的无缝融合。

⑤ 安卓手机关闭后台应用方法 如何彻底退出后台应用

若使用的是vivo手机,可以从屏幕底部中间往上滑后停顿调出后台应用(部分机型需点击左键),按住软件图标上滑,即可关闭后台运行的应用。

⑥ 怎么在android实现退出功能

Android Studio中,随时随地的退出程序(记得导入相应的包,可以设置自动导入所需的包的,下面的代码还没有导入包的部分):

①新建一个 ActivityCollector 类,作为活动管理器,代码如下所示:
public class ActivityCollector {
public static List<Activity> activities = new ArrayList<>();

public static void addActivity(Activity activity) {
activities.add(activity);
}

public static void removeActivity(Activity activity) {
activities.remove(activity);
}

public static void finishAll() {
for (Activity activity : activities)
{

if(!activity.isFinishing())
{
activity.finish();
}
}
activities.clear();

//以下是杀死当前程序进程的代码,保证程序彻底退出。
android.os.Process.killProcess(android.os.Process.myPid());
}
}
②再新建一个类BaseActivity,并让所有活动继承这个类,也就是其他的全部活动都改为extends BaseActivity,而不是原来的extends AppCompatActivity。

public class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("BaseActivity", getClass().getClass().getSimpleName());
ActivityCollector.addActivity(this);
}

@Override
protected void onDestroy() {
super.onDestroy();
ActivityCollector.removeActivity(this);
}

}
③在你想要退出程序的页面(Activity)的setContentView(R.layout.*****); 下面加上如下代码,从而实现点击一个按钮退出整个程序。
Button button3 = (Button) findViewById(R.id.*****);
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ActivityCollector.finishAll();
}
});
//*号部分看具体情况而定

⑦ android无故退出程序怎么解决

Android应用一启动就关闭,这说明程序有BUG,无法启动。
可能有下原因造成:
1. 删除了应用程序的缓存文件
2. 当前手机操作系统不满足程序包要求的系统版本
3. 手机存储空间不足
4. 安装包已经损坏

解决办法:
1. 直接卸载掉,释放手机存储空间
2. 查看一下程序包的版本,与当前手机是否一致
3. 重新下载安装包

⑧ Android 怎么退出整个应用程序

在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等。

⑨ 安卓手机软件闪退怎么办 安卓软件停止运行解决方法

若使用的是vivo手机,指的是应用使用闪退,这是应用闪退排查步骤:
1、确认软件信息:非应用商店下载:前往应用商店下载安装软件,或者更换其他网址下载安装软件,观察是否恢复使用。
出现频率不高:可能是软件运行不稳定引起,建议将系统更新到最新版本使用观察。
2、升级系统版本:
系统新版本提升了兼容性和稳定性,优化了性能,进入设置--系统升级(部分机型为:设置--我的设备--iQOO UI版本),查看系统版本信息。如果不是最新版本,建议升级体验。
3、清除软件数据:
如果软件自身数据出现异常会影响到软件的使用,建议清除软件数据后使用查看,操作前请提前备份软件的数据。清除软件数据的操作方法:进入设置--应用与权限--应用管理--右上角三点--显示系统程序-找到对应软件--存储--清除数据;有重要数据需提前备份后再操作。
4、卸载重装软件:
如果软件运行过程中缓存的文件出现异常,可能影响到软件的使用,建议卸载重装软件,查看是否恢复使用;操作前请提前备份软件的数据。
5、以上方式操作后仍是闪退,可携带手机前往服务中心检测处理,进入浏览器搜索vivo官网--服务--服务中心--查看全部--选择省市查询当地的服务中心地址以及联系方式。

⑩ Android如何退出程序

如果退出整个程序,如下操作:方式一: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。

热点内容
sqlifnotexists 发布:2025-08-02 02:02:14 浏览:127
如何制作服务器的悬空标题字 发布:2025-08-02 01:57:49 浏览:843
唱吧上传撤销 发布:2025-08-02 01:48:11 浏览:693
局域网服务器不能用ip访问 发布:2025-08-02 01:47:20 浏览:540
c语言日志 发布:2025-08-02 01:39:14 浏览:489
详细编程 发布:2025-08-02 01:17:13 浏览:349
怎么查看wifi的密码 发布:2025-08-02 00:46:24 浏览:929
linux工具开发 发布:2025-08-02 00:44:52 浏览:688
c语言编程我爱你 发布:2025-08-02 00:40:12 浏览:946
车铣复合加工编程 发布:2025-08-02 00:39:21 浏览:49