自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

转载 java内存优化实例----缓存Bitmap

课程内容使用内存缓存使用磁盘缓存处理配置改变事件您还应该阅读Handling Runtime Changes在您的UI中显示单个图片是非常简单的,如果您需要一次显示很多图片就有点复杂了。在很多情况下(例如使用 ListView, GridView 或者 ViewPager控件),显示在屏幕上的图片以及即将显示在屏幕上的图片数量是非常大的(例如在图库中浏览

2013-06-22 17:43:10 833

转载 java内存优化实例----在非UI线程中处理图片

课程内容使用 AsyncTask处理并发情况您还应该阅读Designing for ResponsivenessMultithreading for Performance在 高效的加载大尺寸图片 中介绍的 用来解析图片的 BitmapFactory.decode* 函数,需要在非UI线程中调用。如果是读取网络图片或者磁盘图片,在UI线程中可能会导致程序AN

2013-06-22 17:34:43 481

转载 java内存优化实例----Bitmap的高效加载

课程内容读取 Bitmap 的尺寸和类型载入缩小过的图片到内存中图片具有不同的形状和尺寸。通常情况下图片比设备的屏幕尺寸要大很多。例如,用Android系统的图库程序来显示手机摄像头拍摄的照片,这些照片的分辨率要比设备屏幕分辨率大很多。考虑到程序可用的内存是有限的,所以您只要载入一个低分辨率的图片在内存中即可。这个低分辨率的图片应该和显示该图片的控件大小匹配。如果使

2013-06-22 17:24:26 539

转载 java内存泄露和内存溢出

Java中的几种引用方式    Java中有几种不同的引用方式,它们分别是:强引用、软引用、弱引用和虚引用。下面,我们首先详细地了解下这几种引用方式的意义。          强引用在此之前我们介绍的内容中所使用的引用都是强引用,这是使用最普遍的引用。如果一个对象具有强引用,那就类似于必不可少的生活用品,垃圾回收器绝不会回收它。当内存空 间不足,Java虚拟

2013-06-22 15:10:26 428

转载 java内存泄露和内存溢出(一)

在C++语言中,如果需要动态分配一块内存,程序员需要负责这块内存的整个生命周期。从申请分配、到使用、再到最后的释放。这样的过程非常灵活,但是却十分繁琐,程序员很容易由于疏忽而忘记释放内存,从而导致内存的泄露。Java语言对内存管理做了自己的优化,这就是垃圾回收机制。Java的几乎所有内存对象都是在堆内存上分配(基本数据类型除外),然后由GC(garbage collection)负责自动回收不再使

2013-06-22 14:58:05 440

转载 jvm内存回收机制

JVM 内存组成及分配按照官方的说法:"Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。""在JVM中堆之外的内存称为非堆内存(Non-heap memory)".可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给 自己用的,所以方法区、JV

2013-06-22 12:31:32 857

转载 jvm工作原理和特点

JVM 的工作原理和特点JVM工作原理和特点主要是指操作系统装入JVM是通过jdk中Java.exe来完成,通过下面4步来完成JVM环境.   1.创建JVM装载环境和配置   2.装载JVM.dll   3.初始化JVM.dll并挂界到JNIENV(JNI调用接口)实例   4.调用JNIEnv实例装载并处理class类。   在我们运行和调试

2013-06-22 12:23:58 440

转载 jvm基础入门

关于java内存泄露和内存溢出,首先要了解jvm的概念。JVM 基础入门JVM 简介JVM(Java虚拟机)一种用于计算设备的规范,可用不同的方式(软件或硬件)加以实现。编译虚拟机的指令集与编译微处理器的指令集非常类似。JVM包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。JVM(Java虚拟机)是可运行Java代码的假想计算机。只要根据JVM规格描述

2013-06-22 12:17:29 945

转载 内存分配(三)讨论常见的堆性能问题以及如何防范它们

前言您是否是动态分配的 C/C++ 对象忠实且幸运的用户?您是否在模块间的往返通信中频繁地使用了“自动化”?您的程序是否因堆分配而运行起来很慢?不仅仅您遇到这样的问题。几乎所有项目迟早都会遇到堆问题。大家都想说,“我的代码真正好,只是堆太慢”。那只是部分正确。更深入理解堆及其用法、以及会发生什么问题,是很有用的。什么是堆?(如果您已经知道什么是堆,可以跳到“什么是常见的堆性能问题?

2013-06-21 22:25:54 557

转载 内存分配(二)windows进程中的内存结构

在阅读本文之前,如果你连堆栈是什么多不知道的话,请先阅读文章后面的基础知识。 接触过编程的人都知道,高级语言都能通过变量名来访问内存中的数据。那么这些变量在内存中是如何存放的呢?程序又是如何使用这些变量的呢?下面就会对此进行深入的讨论。下文中的C语言代码如没有特别声明,默认都使用VC编译的release版。 首先,来了解一下 C 语言的变量是如何在内存分部的。C 语言有全局变量(G

2013-06-21 22:24:40 589

转载 内存分配(一)堆和栈的区别

堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态

2013-06-21 22:23:07 458

转载 Android机型适配之密度独立

原文链接:http://reynold.cn/archives/2709.html前言安卓是一个只对硬件设备限制有很少限制的移动操作系统。生产商们几乎可以创造任何形状的、尺寸的和密度的屏幕的设备。设备可以有物理键盘和按钮或者只有虚拟键盘和按钮。由于它的设备客制化的自由性给软件开发者们制造了一些麻烦。首先,应用软件怎样在各种各样的设备上保证一致的用户体验呢?其次,应用软件怎样利用一些

2013-06-11 10:13:28 714

原创 Android机型适配之软键盘和输入法

Android机型适配问题是不少Android开发人员转ios开发的原因,因为,Android机型实在是太多了,各大门派纷纷定制rom,碎片化相当严重。以下是我总结的一些些资料一、软键盘显隐问题定义一个mIMManager = (InputMethodManager) mDescEt.getContext().getSystemService(Context.INPUT_METHO

2013-06-10 17:16:54 1578

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除