网站首页 | 范文大全 | 常用申请书 | 党团范文 | 讲话发言 | 作文大全 | 报告叙述 | 合同范文 | 党建教育 | 入党材料 | 心得体会 |
三晋范文网
  • 入党申请书
  • 入党誓词
  • 入党自传
  • 入党转正申请书
  • 入党介绍人意见
  • 入党志愿书
  • 入团申请书
  • 入团志愿书
  • 少先队入队申请书
  • 思想汇报
  • 您的位置:三晋范文网 > 党团范文 > 少先队入队申请书 > 正文 2019-10-16 07:33:00

    Android 开发者必会的内存泄漏指南毒霸异世:什么是内存泄漏

    摘要:Android 开发者必会的内存泄漏指南毒霸异世

    【CSDN 编者按】对于众多 Android 程序员而言,在需求与应用性能之间,主要精力都会放到新需求的开发。随着项目复杂度的增加,应用性能越来越低,出现各种问题。程序员们奔波于各种救火现场,疲于奔命。本文作者 Aritra Roy 分享了自己在 Android 应用程序开发过程中所遇以及思考,针对内存泄漏提炼出一套可以应用于开发中的方法论。也许会让你的开发效率事半功倍。

    作者 | Aritra Roy,Android 开发者

    译者 | 罗昭成,责编 | 唐小引

    封图 | CSDN 付费下载自东方 IC

    出品 | CSDN(ID:CSDNnews)

    以下为译文:

    我们都知道,写一个 Android 的应用很容易,但是要写一个高性能的应用可就不容易了。以我的个人经验来说,在 App 的开发过程中,主要的精力都会放在新功能、新模块、新组件的开发上。

    开发过程中,看得见的 UI 比看不见的性能更能吸引我们的目光。所以我强制自己将优化应用程序(如内存泄漏)的优先级提高,并养成习惯。

    长期以来,不关注性能,带来了很多的技术债。经过一年多的努力调整, 比起一年前,我有很多的心得体会。

    对于很多开发者来说,内存泄漏都是一个老大难的问题。关于处理内存泄漏,你有可能会觉得太难,又或是太费时,又或者是觉得完全没有意义。但我要告诉你的是,事实并非如此。当你开始处理这些问题的时候,你会发现,这感觉超级棒。

    在本篇文章中,我会以尽可能简单的方式讲解这些问题,即使你是一个初学者,也可以学习到如何构建一个高质量、高性能的应用。

    1.垃圾回收

    JAVA 是一个非常强大的语言。在 Android 中,我们几乎不会像 C / C++ 那样,手动分配和释放内存。因为 Java 会自动清理内存。

    让我们来思考一个问题,如果 Java 内建的垃圾回收系统可以在我们不需要的时候自动回收内存,那我们为什么还需要关心内存呢?是因为垃圾回收机制不够完善吗?

    当然不是,Java 垃圾回收机制当然是完善的。垃圾回收机制是可以正常工作,但是,如果我们的应用程序出现 Bug, 导致垃圾回收器不能正常检查出不需要的内存块,就会导致问题。

    总体来说,是我们自己的代码错误导致垃圾回收不可用。不可否认,垃圾回收机制是 Java 最伟大的设计之一。

    2.关于垃圾回收器

    在处理内存问题之前,你需要了解垃圾回收器的工作原理。它的概念非常简单,但在它背后,有着极其复杂的逻辑。但是你也别担心,我们也只关心一些简单的概念。

    如图所示,Android 或者 Java 应用程序都有一个起点,从对象的初始化,并且调用方法。我们可以认为,这个点就是图中的 "GC Roots"。有一些对象引用被 GC Roots 直接持有,剩下的则由它们自己创建并持有。

    Android 开发者必会的内存泄漏指南毒霸异世:什么是内存泄漏》由(三晋范文网)整理提供,版权归原作者、原出处所有。
    Copyright © 2023 三晋范文网 All Rights Reserved. 备案号:京ICP备14001712号-1