WeakReference 是三种引用类型中的一种,一旦垃圾 Garbage Collector 发现 object 是 weakly-reachable,将会发生以下事情: 时间: 2024-10-13 16:07:08
JVM 的垃圾回收器对于不同类型的引用有不同的处理方式.java中对于一个对象来说,只要有引用的存在,它就会一直存在于内存中.如果这样的对象越来越多,超出了JVM中的内存总数,JVM就会抛出OutOfMemory错误.虽然垃圾回收的具体运行是由JVM来控制的,但是开发人员仍然可以在一定程度上与垃圾回收器进行交互,其目的在于更好的帮助垃圾回收器管理好应用的内存.这种交互方式就是使用JDK1.2 引入的 java.lang.ref包. 强引用(strong reference) 在一般的 Jav
本篇文章继续为大家介绍Universal-Image-Loader这个开源的图片加载框架,介绍的是图片缓存策略方面的,如果大家对这个开源框架的使用还不了解,大家可以看看我之前写的一篇文章Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用,我们一般去加载大量的图片的时候,都会做缓存策略,缓存又分为内存缓存和硬盘缓存,我之前也写了几篇异步加载大量图片的文章,使用的内存缓存是LruCache这个类,LRU是Least Recently Used 近
为什么关注性能 对于一款APP,用户首先关注的是 app的性能,而不是APP本身的属性功能,用户不关心你是否是搞社交,是否搞电商,是否是一款强大的美图滤镜app,用户首先关注的是 性能--性能不好,用户会直接卸载,在应用市场给一个恶狠狠得差评,小则影响产品口碑,大则影响公司的品牌和声誉,作为程序员,app的性能更应该作为我们关注的一个功能,而不是出了问题 才去门头苦恼加班加点的负担. 老实说,提高app性能的确非常难,处理这些问题 你必须知道: 应用速度慢的原因 还必须正确使用分析工具来分析数据
强引用.软引用.弱引用.虚引用详解 先说一下垃圾回收机制GabageCollection: GC是垃圾收集的意思(GabageCollection).和JAVA一样,ANDROID系统也是由GC来自动回收内存的.android中一个应用的启动,android系统都会为这个应用分配一个dalivk虚拟机,以便这个应用运行在这个独立的虚拟机上,可是一个虚拟机内存大小一般也是限制的(20M左右).可见,一个应用的运行所申请的内存不可能无限大的. 通常,GC是在一个单独的比较低优先 级线程中运行.这样其
一:struct JNINativeInterface_{} 结构体的作用:它有点像我们char字符驱动的 file_ops结构体,它定义各种函数对在(jni.h头文件详解一)中定义的各种数据的操作函数集体. 二:它包含那些针对Java中类和对象的相关操作呢如下图. 三:下面我们讲详细介绍14个部分方法的用法和解析 3.1.版本信息操作函数. 一.GetVersion jint (JNICALL *GetVersion)(JNIEnv *env) --模块信息:该模块主要针对的JNI接口的版本信
Android基础入门教程--8.3.6 Paint API之-- Xfermode与PorterDuff详解(三) 标签(空格分隔): Android基础入门教程 本节引言: 上一节,我们学习了Xfermode中的三儿子:PorterDuffXfermode构造方法中的为一个参数: PorterDuff.Mode,我们在观看了16种图片混排模式后,又自己写代码来验证了一下文档中 18种不同的混排模式,18种是新增了ADD和OVERLAY两种模式!当然,仅仅验证知道是不够的, 本节我们来写个例子
作者:左少华 博客:http://blog.csdn.net/shaohuazuo/article/details/42932813 转载请注明出处:http://blog.csdn.net/shaohuazuo 一:struct JNINativeInterface_{} 结构体的作用:它有点像我们char字符驱动的 file_ops结构体,它定义各种函数对在(jni.h头文件详解一)中定义的各种数据的操作函数集体. 二:它包含那些针对Java中类和对象的相关操作呢如下图. 三:下面我们讲详细
这个详解基本小结了Handler的使用和相关的知识,在了解这些知识前,我们先来看看这些问题. Handler 是什么? 子线程更新UI有几种典型方式,这些方式本质上是什么样的? 子线程真的不能更新UI吗? HandlerThread是什么? 主线程和子线程之间如何相互通信? 好了,如果上面的问题,你能对答如流,并且深知其中的原理那么没有必要继续看下去了,反之,就该好好补补了(^o^)/~. Handler是什么 handler是Android给我们提供来更新UI的一套机制,也是一套消息处理的机制
OOM主要有两种原因导致: 1. 加载大图片: 2. 内存泄漏: 因此这篇文章会简单介绍一下这两个方面,希望对大家解决OOM问题有所帮助. 一.加载大图片 在Android应用中加载Bitmap的操作是需要特别小心处理的,因为Bitmap会消耗很多内存.比如,Galaxy Nexus的照相机能够拍摄2592x1936 pixels (5 MB)的图片. 如果bitmap的图像配置是使用ARGB_8888 (从Android 2.3开始的默认配置) ,那么加载这张照片到内存大约需要19MB(259