android中finish(),exit()的区别

本文详细解释了Android中Activity的生命周期,包括onCreate、onStart、onResume等关键方法的作用及调用时机。同时对比了finish()与System.exit(0)的区别,以及Process.killProcess在Android中的特殊行为。

一个Activity是有生命周期的,onCreate,onStart,onResume,onPause,onStop,onDestroy...

finish是Activity的类,仅仅针对Activity,当调用finish()时,只是将活动推向后台,并没有立即释放内存,活动的资源并没有被清理;当调用System.exit(0)时,杀死了整个进程,这时候活动所占的资源也会被释放。

其实android的机制决定了用户无法完全退出应用,当你的application最长时间没有被用过的时候,android自身会决定将application关闭了。

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

Process.killProcess 最终是调用 linux API kill() 发送 SIGKILL 信号。了解 Linux 编程的都知道,进行收到这个信息都会立即结束进程,Android 下不同的是 ActivityManager 一直监听者进程状态。如果发现进程被kill,会立即重启进行,并重启之前状态对应的Activity、Service、ContentProvider等。这就是为什么我们调用Process.killProcess后,发现程序是重启了,而不是被kill了
% 三点法导引,二维平面上的导引方法例程,目标匀速运动% 本代码展示了三点法导引算法在二维平面上的应用。目标以恒定速度匀速运动,% 导弹通过三点法导引规则逐步调整飞行方向以接近目标。%% 主要内容:% 1. 制导站(雷达)位于原点,实时跟踪目标的运动状态。% 2. 目标从初始位置以固定速度直线运动。% 3. 导弹从接近雷达的初始位置出发,通过计算目标与雷达连线的方向向量,% 调整飞行方向并以恒定速度飞向目标。% 4. 仿真动态更新目标与导弹的轨迹,并检测捕获条件(导弹与目标距离小于10米)。% 5. 最后,绘制目标和导弹的运动轨迹,显示捕获时间和捕获位置。%% 适用范围:% - 本代码适用于二维平面上的导引方法研究。% - 可用于验证三点法导引算法在匀速目标条件下的性能。```# 代码功能总结1. **参数定义**: - 定义了制导站(雷达)位置、目标初始位置和速度、导弹速度及初始位置。 - 设置了仿真时间步长和总仿真时间。2. **三点法导引原理**: - 导弹通过计算目标与制导站连线的方向向量调整飞行方向。 - 导弹以恒定速度沿修正后的方向飞行,逐步接近目标。3. **仿真过程**: - 动态更新目标和导弹的坐标。 - 检测导弹与目标的距离是否小于 10 米,若满足条件则终止仿真。4. **轨迹可视化**: - 绘制目标轨迹、导弹轨迹、制导站位置及初始瞄准线。 - 直观展示导弹捕获目标的整个动态过程。5. **输出捕获信息**: - 打印导弹捕获目标所需的时间和捕获时的坐标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值