`

Android原理---不需要关闭后台运行程序

阅读更多
不用在意剩余内存的大小,其实很多人都是把使用其他系统的习惯带过来来了。android大多应用没有退出的设计其实是有道理的,这和系统对进程的调度机制有关系。如果你知道java,就能更清楚这机制了。其实和java的垃圾回收机制类似,系统有一个规则来回收内存。进行内存调度有个阀值,只有低于这个值系统才会按一个列表来关闭用户不需要的东西。当然这个值默认设置得很小,所以你会看到内存老在很少的数值徘徊。但事实上他并不影响速度。相反加快了下次启动应用的速度。这本来就是android标榜的优势之一,如果人为去关闭进程,没有太大必要。特别是使用自动关进程的软件。

  到这里有人会说了,那为什么内存少的时候运行大型程序会慢呢?其实很简单,在内存剩余不多时打开大型程序,会触发系统自身的调进程调度策略,这是十分消耗系统资源的操作,特别是在一个程序频繁向系统申请内存的时候。这种情况下系统并不会关闭所有打开的进程,而是选择性关闭,频繁的调度自然会拖慢系统。所以,论坛上有个更改内存阀值的程序可以有一定改善。但改动也可能带来一些问题,取决于值的设定。

  那么,进程管理软件有无必要呢?有的。就是在运行大型程序之前,你可以手动关闭一些进程释放内存,可以显著的提高运行速度。但一些小程序,完全可交由系统自己管理。

  谈到这里,可能有的朋友会问,如果不关程序是不是会更耗电。我就说说android后台的原理,你就明白了。android的应用在被切换到后台时,它其实已经被暂停了,并不会消耗cpu资源,只保留了运行状态。所以为什么有的程序切出去重进会到主界面。但是,一个程序如果想要在后台处理些东西,如音乐播放,它就会开启一个服务。服务可在后台持续运行,所以在后台耗电的也只有带服务的应用了。这个在进程管理软件里能看到,标签是service。至于广播什么的我就不涉及了。所以没有带服务的应用在后台是完全不耗电的,没有必要关闭。这种设计本来就是一个非常好的设计,下次启动程序时,会更快,因为不需要读取界面资源,何必要关掉他们抹杀这个android的优点呢。

  还有一个,为什么android一个应用看起来那么耗内存。大家知道,android上的应用是java,当然需要虚拟机,而android上的应用是带有独立虚拟机的,也就是每开一个应用就会打开一个独立的虚拟机。这样设计的原因是可以避免虚拟机崩溃导致整个系统崩溃,但代价就是需要更多内存。

  以上这些设计确保了android的稳定性,正常情况下最多单个程序崩溃,但整个系统不会崩溃,也永远没有内存不足的提示出现。大家可能是被windows毒害得太深了,总想保留更多的内存,但实际上这并不一定会提升速度,相反却丧失了程序启动快的这一系统特色,很没必要。
  如果你 非要的话,可以选择优化大师,启动项管理等软件,定期清理
分享到:
评论

相关推荐

    android-beacon-library,允许android应用程序与ble信标交互.zip

    2. **后台运行**:即使在应用未运行或者手机屏幕关闭的状态下,该库依然可以持续检测到附近的信标,这对于实现实时位置服务和触发式通知至关重要。 3. **事件驱动的API**:当检测到信标的进入、离开或信号强度变化...

    android-beacon-library-master

    4. **Background Monitoring**: 在后台运行时仍能有效地监测Beacon,即使应用被关闭,也能接收到通知。 5. **电源管理优化**: 通过智能算法来平衡电池消耗和Beacon检测的准确性。 三、使用步骤 1. **添加依赖**: 在...

    android后台程序清理器

    "Android后台程序清理器"是一款专门针对Android操作系统设计的应用程序,其主要功能是管理和优化手机中的后台运行程序,以提高设备性能和延长电池寿命。在Android系统中,应用程序经常会在用户不知情的情况下继续...

    usb-serial-for-android

    《USB-Serial for Android:构建Android设备的USB串口通信》 在移动设备与外部硬件交互的场景中,USB串口通信扮演着重要的角色。针对Android平台,"usb-serial-for-android"是一个至关重要的库,它允许Android设备...

    Android-VNC-Server

    8. **用户界面设计**:虽然VNC Server主要是后台运行,但通常会有一个配置或控制面板供用户设置和管理服务器。这部分涉及Android UI设计原则,如使用Material Design指南。 9. **服务组件**:为了在后台持续运行,...

    Android代码-D-XXPlayer-android音乐播放器源码.zip

    服务可以在后台运行,即使应用程序被关闭也能保持音乐播放。同时,为了响应系统事件(如来电、屏幕熄灭等),可能会有BroadcastReceiver的实现,以便在适当的时候暂停或恢复播放。 6. **通知栏控制**:Android支持...

    Android代码-绿色化快捷方式

    Greenify是一款强大的应用管理工具,它能够智能地将后台运行的应用置于休眠状态,以节省电量和提升设备运行效率。 首先,我们需要理解Android系统的电源菜单。在默认情况下,电源菜单通常包含重启、关机等选项。...

    Android-Application Fundamental-应用程序基础-中文翻译校正版

    - 每个Android应用程序默认运行在自己的Linux进程中,这意味着当应用程序中的代码需要执行时,Android会启动相应的进程;当不再需要该进程或有其他应用程序请求系统资源时,会关闭这个进程。 - 每个进程有自己的...

    Android应用--简、美音乐播放器开发项目

    这个项目旨在提供一个用户友好的音乐体验,同时展示Android应用程序设计和开发的基本原理。以下是一些关键的知识点,涵盖了从概念设计到实现的全过程。 1. **Android SDK**:Android应用开发的基础是Android ...

    Android代码-秒表源码.zip

    - 考虑到应用程序可能会被系统暂停(例如,电话来电或屏幕关闭),需要保存和恢复秒表的状态。可以使用`onSaveInstanceState()`和`onRestoreInstanceState()`方法来实现。 8. **用户体验**: - 为了提供良好的...

    Android-App设置android隐藏的RUNINBACKGROUND权限需要root

    `RUN_IN_BACKGROUND`权限是Android的一个重要权限,它允许应用程序在用户不交互的情况下在后台运行。然而,自Android 8.0(API级别26)起,系统对后台运行应用的限制变得更加严格,目的是优化电池寿命和系统性能。在...

    Android-AppDaemon-master.zip_AppDaemon_android_守护进程app_安卓进程保护

    在实际开发中,需要注意的是,虽然守护进程可以保证应用的后台运行,但过度使用可能导致电池消耗加快,用户体验下降。因此,合理选择需要守护的进程,以及优化守护策略,是使用AppDaemon时必须考虑的问题。 总之,...

    android-19 source

    例如,系统会自动关闭后台应用以释放内存,同时对前台应用提供更多的内存支持,从而提高整体运行速度。 2. **ART运行时环境**:Android 19开始默认采用ART(Android RunTime)替代Dalvik虚拟机,ART在安装应用时...

    Android-Android传说中的1像素保活大法

    在Android开发领域,"1像素保活大法"是一种常见的应用保活策略,它通过创建一个极小的、几乎不可见的Activity来防止系统因内存不足或其他原因而将其关闭。这个方法尤其在处理后台服务或者后台任务时非常有用,因为...

    Android代码-应用软件自动更新源码.zip

    当用户打开应用或在后台运行时,应用会检查服务器上是否有新的版本可用。如果有,用户会被提示下载并安装新版本。 二、Google Play商店自动更新 Google Play提供了一种自动更新选项,开发者可以设置其应用为“自动...

    Android代码-简单的音乐播放器

    6. **音乐播放状态的保存与恢复**:当应用程序被关闭或者系统资源被回收时,播放状态需要被正确保存,以便之后恢复。这涉及到`onSaveInstanceState()`和`onRestoreInstanceState()`方法的使用,或者使用`...

    Android代码-MyStudyProject安卓学习示例

    8. **服务(Services)**:后台运行的服务及其生命周期管理,包括IntentService和Bound Service。 9. **动画和过渡效果(Animations & Transitions)**:如何创建和使用Android的视图动画和转换动画。 10. **依赖...

    Android-TEST.rar_android

    - Background Service:后台运行服务,不依赖用户界面。 - IntentService:单线程模型的服务,自动管理生命周期。 -前台服务:提供通知,即使应用被关闭仍能继续运行。 6. **BroadcastReceiver**: - 广播接收...

    Android-BackgroundCamera

    "Android-BackgroundCamera"项目正致力于解决这一问题,允许应用程序在后台运行时继续访问并操作相机。本文将深入探讨Android后台运行相机的相关知识点,包括原理、实现方式以及面临的挑战。 一、Android后台服务...

    emulator.exe(Android SDK tools下文件)

    - **关闭不必要的后台服务**:减少系统负担,提高模拟器性能。 - **更新SDK工具**:保持最新的SDK Tools和模拟器版本,以获取性能优化和新功能。 **5. 错误排查** 如果`emulator.exe`出现启动问题,首先检查是否...

Global site tag (gtag.js) - Google Analytics