`
michael-java
  • 浏览: 18852 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
最近访客 更多访客>>
社区版块
存档分类
最新评论

内存问题

阅读更多

不用在意剩余内存的大小,其实很多人都是把使用其他系统的习惯带过来来了。Android 大多应用没有退出的设计其实是有道理的,这和系统对进程的调度机制有关系。如果你知道Java , 就能更清楚这机制了。其实和java的垃圾回收机制类似,系统有一个规则来回收内存。进行内存调度有个阀值,只有低于这个值系统才会按一个列表来关闭用户 不需要的东西。当然这个值默认设置得很小,所以你会看到内存老在很少的数值徘徊。但事实上他并不影响速度。相反加快了下次启动应用的速度。这本来就是 android标榜的优势之一,如果人为去关闭进程,没有太大必要。特别是使用自动关进程的软件。(这里解决了大家非要关进程的误区!)
到这里有人会说了,那为什么内存少的时候运行大型程序会慢呢?其实很简单,在内存剩余不多时打开大型程序,会触发系统自身的调进程调度策略,这是十分消耗 系统资源的操作,特别是在一个程序频繁向系统申请内存的时候。这种情况下系统并不会关闭所有打开的进程,而是选择性关闭,频繁的调度自然会拖慢系统。所 以,论坛上有个更改内存阀值的程序可以有一定改善。但改动也可能带来一些问题,取决于值的设定。
那么,进程管理软件有无必要呢?有的。就是在运行大型程序之前,你可以手动关闭一些进程释放内存,可以显著的提高运行速度。但一些小程序,完全可交由系统自己管理。
谈到这里,可能有的朋友会问,如果不关程序是不是会更耗电。我就说说android后台的原理,你就明白了。android的应用在被切换到后台时,它其 实已经被暂停了,并不会消耗cpu资源,只保留了运行状态。所以为什么有的程序切出去重进会到主界面。但是,一个程序如果想要在后台处理些东西,如音乐播 放,它就会开启一个服务。服务可在后台持续运行,所以在后台耗电的也只有带服务的应用了。这个在进程管理软件里能看到,标签是service。至于广播什 么的我就不涉及了。所以没有带服务的应用在后台是完全不耗电的,没有必要关闭。这种设计本来就是一个非常好的设计,下次启动程序时,会更快,因为不需要读 取界面资源,何必要关掉他们抹杀这个android的优点呢?(告诉我们如何合理使用进程管理软件)
还有一个,为什么android一个应用看起来那么耗内存。大家知道,android上的应用是java,当然需要虚拟机,而android上的应用是带 有独立虚拟机的,也就是每开一个应用就会打开一个独立的虚拟机。这样设计的原因是可以避免虚拟机崩溃导致整个系统崩溃,但代价就是需要更多内存。(跟塞班 也不一样,安卓不容易死机重启)
以上这些设计确保了android的稳定性,正常情况下最多单个程序崩溃,但整个系统不会崩溃,也永远没有内存不足的提示出现。大家可能是被 windows毒害得太深了,总想保留更多的内存,但实际上这并不一定会提升速度,相反却丧失了程序启动快的这一系统特色,很没必要。大家不妨按我说的习 惯来用用这个系统。
祝大家玩机愉快,这系统开十天半个月都没问题,不是windows。

分享到:
评论

相关推荐

    C C++的内存问题

    内存管理是C++编程中的核心话题,因为它直接影响到程序的性能和稳定性。C++的内存管理分为手动和自动两种方式,...因此,理解并熟练掌握C++的内存管理,既能享受到C++带来的性能优势,又能有效避免内存问题带来的困扰。

    KernelAddressSanitizer (KASan)内存问题分析利器解析

    KASan的设计目标是为了在内核级别提供与Userspace的AddressSanitizer(ASan)类似的内存错误检测功能,包括检测使用后释放(use-after-free)、越界访问等常见问题。ASan是一个C/C++编译器插件,用于检测堆、栈和...

    C语言编程常见内存问题分析

    本文主要讨论了四个常见的内存问题,它们分别是内存泄露、内存越界访问、野指针和访问空指针。 1. **内存泄露**:内存泄露是指程序员在堆上动态分配了内存,但在使用完毕后忘记释放。虽然单个的小规模内存泄露可能...

    内存问题引起的常见故障

    以下是对标题和描述中提到的内存问题的详细分析: 1. **内存兼容性问题**:如果不同品牌或型号的内存条混用,可能会导致系统运行不稳定,表现为频繁蓝屏、重启或性能下降。解决方法包括尝试更换内存位置,关闭BIOS...

    应用 Valgrind 发现 Linux 程序的内存问题

    在实际开发过程中,定期使用 Valgrind 对程序进行检查,可以避免很多潜在的运行时错误,减少因内存问题导致的程序崩溃或性能下降。同时,配合良好的编程习惯和内存管理策略,可以进一步提升软件质量。

    Java内存问题Java开发Java经验技巧共6页.pdf

    Java内存问题一直是Java开发者关注的重点,它涉及到程序的性能、稳定性和资源管理。在这个主题中,我们将深入探讨Java内存的几个关键方面,包括Java内存模型、垃圾收集机制、内存泄漏以及优化策略。以下是对这些知识...

    JVM内存问题最佳实践

    ### JVM内存问题最佳实践 #### 一、选择合适的Java虚拟机 在选择Java虚拟机(JVM)时,有几个关键因素需要考虑。首先,确保选择一个稳定的版本是非常重要的。避免使用刚刚发布或刚添加了大量新功能的版本,因为这些...

    内存检测工具 内存问题检测就用它-华清远见.docx

    内存问题不仅降低程序稳定性,还可能导致安全漏洞。本文将探讨一些常用的内存检测工具,帮助开发者在开发过程中及时发现并修复这些问题。 1. **内存越界**:当程序写入或读取超出分配内存范围的数据时,会发生内存...

    解决ora-04031共享内存问题

    解决ora-04031共享内存问题解决ora-04031共享内存问题解决ora-04031共享内存问题解决ora-04031共享内存问题

    内存检测工具 内存问题检测就用它-华清远见.pdf

    内存问题在底层编程语言中尤为棘手,比如内存泄漏、越界访问、释放后使用等问题,这些问题可能导致程序崩溃或者运行不稳定。本文将介绍一些常用的Linux平台下的内存检测工具及其功能。 1. **内存越界(Memory ...

    SQLServer内存问题排查思路.docx

    SQLServer内存问题排查是数据库管理员面临的重要任务,尤其是在处理大型数据操作时,内存管理的效率直接影响到系统的性能和稳定性。本文将深入探讨如何利用性能监视器计数和动态管理视图来诊断和解决SQLServer内存...

    内存问题造成蓝屏解决方法

    内存问题在计算机运行中可能导致各种故障,其中蓝屏是最常见的表现之一。对于Windows用户来说,尤其是Windows Vista及更高版本的用户,遇到此类问题时,可以利用操作系统内置的Windows Memory Diagnostic (WMD)工具...

    应用Valgrind发现Linux程序的内存问题[归纳].pdf

    在Linux系统中,程序的内存问题常常是导致程序崩溃、性能下降或资源浪费的关键因素。Valgrind是一款强大的动态分析工具,特别适用于发现这类问题,尤其擅长于检测内存管理错误,如内存泄漏、未初始化的内存使用等。...

    C-C++内存问题检查利器—Purify 帮助文档以及下载地址

    **Purify:C/C++内存问题的诊断与解决** Purify是IBM推出的一款强大的内存问题检测工具,专门用于C和C++编程语言。它能够帮助开发者在应用程序运行时发现并解决各种内存相关的问题,如内存泄漏、双重释放、非法访问...

    142045_应用-Valgrind-发现-Linux-程序的内存问题.doc

    Valgrind是一款强大的内存调试和分析工具,特别适用于Linux系统,能够帮助开发者发现程序中的内存问题,如内存泄漏、未初始化的内存使用等。Valgrind由Julian Seward开发,Paul Mackerras将其移植到Power架构上。在...

    应用-Valgrind-发现-Linux-程序的内存问题.doc

    总的来说,Valgrind是Linux环境下解决内存问题的强大武器,通过其详细的错误报告和调用栈跟踪,可以极大地提高开发者定位和修复内存错误的效率,从而提升程序的稳定性和性能。对于Linux运维人员来说,掌握Valgrind的...

    142045-应用-Valgrind-发现-Linux-程序的内存问题.doc

    **Valgrind** 是一款强大的Linux系统上的动态分析工具,专长于发现程序中的内存问题。它可以帮助开发者识别和修复诸如内存泄漏、未初始化的内存使用、无效内存访问等常见问题。Valgrind的工作原理是对目标程序进行...

    设置BIOS解析“集成显卡”内存问题.docx

    "设置BIOS解析“集成显卡”内存问题" 在使用集成显卡的系统中,很多用户都会发现一个奇怪的问题:在系统信息窗口中,内存容量和实际可用内存不一样。这是因为集成显卡将一部分内存占用作为显存使用,从而导致可用...

    BIG-IP系统Linux主机部分内存问题故障排除方法

    ### BIG-IP系统Linux主机部分内存问题故障排除方法 #### 一、背景介绍 BIG-IP系统是一款由F5 Networks开发的高性能应用交付控制器(ADC),广泛应用于企业级网络环境中,用于实现负载均衡、安全控制等多种功能。在...

    内存问题难点

    ### 内存问题难点 #### 知识点一:内存分配与管理 - **知识点概述**:内存分配与管理是程序开发中一个重要的概念。它涉及到如何在程序运行时为数据结构分配空间,并确保这些空间得到合理的利用和释放。根据存储...

Global site tag (gtag.js) - Google Analytics