Android 应用是否需要一个明确的退出功能?
展开全部
理想的情况是不需要,实际情况是往往需要,这与国情无关,是 android 为自由本身所付出的代价。
一般来说,界面返回了就只剩下静态对象了。如果一个应用只有静态对象,没有上下文,无法执行 android 系统的大多数功能,因此不会对系统造成什么影响,没有必要把这种状态下的应用进一步干掉。但 android 是个挺多元化的系统,很多问题不容易解决。
A:如果应用注册了服务,这个服务作为一个上下文,可以在界面退出后仍然存在,而服务是可能在后台继续运行的,这样的应用需要一个明确的退出功能。典型的例子有:
1,微信,QQ,米聊一类的需要长期联网的应用,退出之后将断网,不退出将一直消耗流量(以及电量,这会导致待机时间缩短)
2,可进行后台音乐播放类应用,退出之后将停止播放,不退出将一直持续播放音乐直到电量耗光。
B:还有一类应用一般也需要退出功能,那就是多界面的应用。这类应用有很多个界面,如果按返回键,可能需要按十几次才能退出,所以设立一个退出功能更方便用户。这类典型应用有:
1,文件管理器类应用。一般可以进入几十层文件夹之类。一层一层返回很麻烦。
2,浏览器类应用,进入很多页面,一次性返回,用户理解为浏览器的页面全部都清干净了。
C:独占底层资源,需要资源释放类的应用也可能会需要明确的退出功能。这类的典型应用有:
1,
用底层C接口实现的游戏,比如有的游戏使用了底层的声音引擎,如果没有正常退出,则可能导致整个设备其他应用的声音不可用,有时会导致必须重新启动设备才
能恢复声音正常。——类似的很多诸如此类在界面内独占系统底层资源的,都可能需要明确的退出才能使系统恢复到正常状态,这一定程度上是程序本身的设计问
题,良好的设计可以避免它(需要程序员付出额外的努力),但缺乏有效的审核机制使得很多需要显式退出才能正常释放硬件资源的程序可以被发布跟流传。
有些应用其实不太需要退出功能:
1,后台流氓类应用,此类应用其实根本不需要常驻后台,但他们仍然会保留一个服务在后台,以便实现他们自己的商业目的,此类应用提供退出功能意义不那么大,如果用户不信任它,会自己从系统中干掉它,它自己提供的退出功能是否真的退出了,用户也未必相信。
2,单界面应用,此类应用,界面退出就够了,进程可以保留,一般并不消耗CPU。一些所谓内存清理软件通常只能清理掉这类应用的进程,但实际上,除非你的设备内存极其吃紧,否则清理他们没有任何好处,反而对系统流畅性有害。
一般来说,界面返回了就只剩下静态对象了。如果一个应用只有静态对象,没有上下文,无法执行 android 系统的大多数功能,因此不会对系统造成什么影响,没有必要把这种状态下的应用进一步干掉。但 android 是个挺多元化的系统,很多问题不容易解决。
A:如果应用注册了服务,这个服务作为一个上下文,可以在界面退出后仍然存在,而服务是可能在后台继续运行的,这样的应用需要一个明确的退出功能。典型的例子有:
1,微信,QQ,米聊一类的需要长期联网的应用,退出之后将断网,不退出将一直消耗流量(以及电量,这会导致待机时间缩短)
2,可进行后台音乐播放类应用,退出之后将停止播放,不退出将一直持续播放音乐直到电量耗光。
B:还有一类应用一般也需要退出功能,那就是多界面的应用。这类应用有很多个界面,如果按返回键,可能需要按十几次才能退出,所以设立一个退出功能更方便用户。这类典型应用有:
1,文件管理器类应用。一般可以进入几十层文件夹之类。一层一层返回很麻烦。
2,浏览器类应用,进入很多页面,一次性返回,用户理解为浏览器的页面全部都清干净了。
C:独占底层资源,需要资源释放类的应用也可能会需要明确的退出功能。这类的典型应用有:
1,
用底层C接口实现的游戏,比如有的游戏使用了底层的声音引擎,如果没有正常退出,则可能导致整个设备其他应用的声音不可用,有时会导致必须重新启动设备才
能恢复声音正常。——类似的很多诸如此类在界面内独占系统底层资源的,都可能需要明确的退出才能使系统恢复到正常状态,这一定程度上是程序本身的设计问
题,良好的设计可以避免它(需要程序员付出额外的努力),但缺乏有效的审核机制使得很多需要显式退出才能正常释放硬件资源的程序可以被发布跟流传。
有些应用其实不太需要退出功能:
1,后台流氓类应用,此类应用其实根本不需要常驻后台,但他们仍然会保留一个服务在后台,以便实现他们自己的商业目的,此类应用提供退出功能意义不那么大,如果用户不信任它,会自己从系统中干掉它,它自己提供的退出功能是否真的退出了,用户也未必相信。
2,单界面应用,此类应用,界面退出就够了,进程可以保留,一般并不消耗CPU。一些所谓内存清理软件通常只能清理掉这类应用的进程,但实际上,除非你的设备内存极其吃紧,否则清理他们没有任何好处,反而对系统流畅性有害。
网易云信
2023-12-06 广告
2023-12-06 广告
信令SDK是一种软件开发工具包,旨在帮助开发者在应用程序中实现信令协议的通信功能。它主要提供了一系列函数、协议和工具,用于处理信令消息的生成、解析、传输和存储等操作。通过使用信令SDK,开发者可以更快速、便捷地实现信令通信功能,提高应用程序...
点击进入详情页
本回答由网易云信提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询