![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
内存
lyglostangel
这个作者很懒,什么都没留下…
展开
-
Java中的静态绑定和动态绑定
Java中的静态绑定和动态绑定DEC 28TH, 2014一个Java程序的执行要经过编译和执行(解释)这两个步骤,同时Java又是面向对象的编程语言。当子类和父类存在同一个方法,子类重写了父类的方法,程序在运行时调用方法是调用父类的方法还是子类的重写方法呢,这应该是我们在初学Java时遇到的问题。这里首先我们将确定这种调用何种方法实现或者变量的操作叫做绑定。在Java转载 2015-01-06 12:30:17 · 840 阅读 · 0 评论 -
Java中的字符串常量池
Java中字符串对象创建有两种形式,一种为字面量形式,如String str = "droid";,另一种就是使用new这种标准的构造对象的方法,如String str = new String("droid");,这两种方式我们在代码编写时都经常使用,尤其是字面量的方式。然而这两种实现其实存在着一些性能和内存占用的差别。这一切都是源于JVM为了减少字符串对象的重复创建,其维护了一个特殊的转载 2015-01-06 12:11:42 · 1096 阅读 · 1 评论 -
JVM运行时的数据区
理解JVM运行时的数据区是Java编程中的进阶部分。我们在开发中都遇到过一个很头疼的问题就是OutOfMemoryError(内存溢出错误),但是如果我们了解JVM的内部实现和其运行时的数据区的工作机制,那么前面的问题就会迎刃而解。在这片文章中,我们将简单了解JVM中有哪些运行时数据区以及这些数据区的工作机制。JVM运行时数据区分类程序计数器 (Program Counter转载 2015-01-06 12:18:48 · 558 阅读 · 0 评论 -
App调试内存泄露之Context篇(上)
Context作为最基本的上下文,承载着Activity,Service等最基本组件。当有对象引用到Activity,并不能被回收释放,必将造成大范围的对象无法被回收释放,进而造成内存泄漏。下面针对一些常用场景逐一分析。1. CallBack对象的引用 先看一段代码:1234567转载 2015-01-21 17:24:09 · 487 阅读 · 0 评论 -
App调试内存泄露之Cursor篇
最近在工作中处理了一些内存泄露的问题,在这个过程中我尤其发现了一些基本的问题反而忽略导致内存泄露,比如静态变量,cursor关闭,流关闭,线程,定时器,反注册,bitmap等等,我稍微统计并总结了一下,当然了,这些问题这么说起来比较笼统,接下来我会根据问题,把一些实例代码贴出来,一步一步分析,在具体的场景下,用行之有效的方法,找出泄露的根本原因,并给出解决方案。 现在,就从cursor关转载 2015-01-21 17:23:04 · 559 阅读 · 0 评论 -
App调试内存泄露之Context篇(下)
接着《Android学习系列(36)--App调试内存泄露之Context篇(上)》继续分析。5. AsyncTask对象 我N年前去盛大面过一次试,当时面试官极力推荐我使用AsyncTask等系统自带类去做事情,当然无可厚非。 但是AsyncTask确实需要额外注意一下。它的泄露原理和前面Handler,Thread泄露的原理差不多,它的生命周期和Activi转载 2015-01-21 17:25:04 · 562 阅读 · 0 评论