`
wangxuefang
  • 浏览: 120831 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表

java内存管理机制

    博客分类:
  • java
在java中,内存分了静态存储区,栈内存,堆内存三种 1.静态存储区:代码在编译时就已分配好,如静态常量数据 2.栈内存:用于存放各种原始数据构造的局部变量,当程出退出临时变量的作用域时,内存会被自动释放 3.堆内存:用于存放以new方式创建的对象和数组,其回收机制依赖于java的垃圾回收   堆和栈的优缺点      堆的优势是可以动态分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的。 缺点就是要在运行时动态分配内存,存取速度较慢; 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。 另外,栈数据可以共享。但缺点是,存在栈中的数据大小与生 ...
     在了解Bitmap.Config之前,首先应该了解一下一种颜色的组成。简单的说,世界上任何一种颜色的"颜色空间"都可定义成一个固定的数字或变量。RGB(红、绿、蓝)只是众多颜色空间的一种。采用这种编码方法,每种颜色都可用三个变量来表示-红色绿色以及蓝色的强度。            Bitmap.Config在官网中解释为:Bitmap的配置,用于描述和保存图片相素的保存方式。在android中其有四种:        <1>ALPHA_8 像素以半透明的形式保存,且在内存中一个像素占8位,即一个字节。透明度为半透明,无法设置
在网上看到有人发表关于android处于图片颜色模式问题,感觉不错,转载一下。 http://www.cnblogs.com/Dahaka/archive/2012/03/03/2374799.html   另有关于android抖动处理的相关文章,也不错,转载一下 http://webservices.ctocio.com.cn/29/12166529.shtml
         在java中,创建线程可以用Thread,也可以用Runnable。          我们可以用一个Runnable实例给多个Thread来初始化线程,这样,当一个线程改变Runnable中的数据时,另外线程也能知道。但如果直接用Thread实例化多个线程,则没有这个效果!
     Thread.setDaemon()方法,从文档中我们可以发现,意思为后台线程、守护线程。一开始我对后台线程不是太理解,觉的Thread本身就是在不影响其他操作的情况下运行的,这就是后台线程。后来才发现,重点在于守护线程。下面来说一下,什么是守护线程:      thread = new Thread(this);        thread.setDaemon(true);       thread.start(); 在启动线程前,调用setDaemon(true)方法,将线程设置成守护线程。若没调用,则称为常规线程 在Java虚拟机中,当不存在常规线程时,JVM会自动关闭 ...
        synchronized为同步的意思,一般用在多线程并发,操作同一块数据,为避免数据混乱,而加上此关键字,以保证同一对象的此方法在同一时刻只能有一个在执行。          synchronized代码的执行,必须获取相应对象的锁,否则代码将处于阻塞中,无法执行。          synchronized的用法有两种:         1:synchronized方法                 java中,每个实例对象都有一个锁,每个 synchronized 方法都必须获得调用该方法的类实例的锁方能执行,否则所属线程阻塞,方法一旦执行,就独占该锁,直到从该方 ...
之前碰到过这样的问题:同时启动两个线程,那么如何让两个线程交替执行呢? public class ThreadWaitTest { public static class StarterThread implements Runnable { private Object lock = null; public StarterThread(Object lock) { this.lock = lock; } public void run() { System.out.println("start.."); ...
在使用百度地图进行android map开发时,发现打开地图,地图不会自动的加载,需要手支点击一下地图,才会进行加载。原因在于是4.0的里面启动了硬件加速,我把对应的activity的属性设置为 android:hardwareAccelerated="false" 就OK了。测试手机 i9300。
Java中HashMap遍历的两种方式原文地址: http://www.javaweb.cc/language/java/032291.shtml第一种:  Map map = new HashMap();  Iterator iter = map.entrySet().iterator();  while (iter.hasNext()) {  Map.Entry entry = (Map.Entry) iter.next();  Object key = entry.getKey();  Object val = entry.getValue();  }  效率高,以后一定要使用此种方式!第 ...
Interpolator对象 资源ID 功能作用 AccelerateDecelerateInterpolator @Android:anim/accelerate_decelerate_interpolator 先加速再减速 AccelerateInterpolator @android:anim/accelerate_interpolator 加速 AnticipateInterpolator @android:anim/anticipate_interpolator 先回退一小步然后加速前进 AnticipateOvershootInterpo ...
在Mac OS中使用adb命令时,应进行变量配置,步骤如下: 一、终端中输入 cd ~ 二、输入touch .bash_profile 回车 touch:如果没有,则创建文件,如果有,更新一下文件时间 三、输入open -e .bash_profile open:打开文件 回车后会在TextEdit中打开这个文件(如果未配置过环境变量,应该是个空白文件)。在文件中加如以下内容 export PATH=${PATH}:/Users/bj-zhangqm/worksoft/android-sdk-mac_x86/platform-tools/ 这是我机器上的路径,具体个人机 ...
转自:http://www.eoeandroid.com/thread-3597-1-1.html   android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件,有必要对它进行深入的了解。 一个最简单的屏幕触摸动作触发了一系列Touch事件:ACTION_DOWN->ACTION_MOVE->ACTION_MOVE->ACTION_MOVE...->ACTION_MOVE->ACTION_UP当屏幕中包含一个ViewGroup,而这个ViewGroup又包含一个子view,这个时候android系统如何处理Touch事件呢?到 ...
 ImageView是Android中的基础图片显示控件,该控件有个重要的属性是ScaleType,该属性用以表示显示图片的方式,共有8种取值 1.    ScaleType.CENTER::图片大小为原始大小,如果图片大小大于ImageView控件,则截取图片中间部分,若小于,则直接将图片居中显示。 2.    ScaleType.CENTER_CROP:将图片等比例缩放,让图像的短边与ImageView的边长度相同,即不能留有空白,缩放后截取中间部分进行显示。 3.    ScaleType.CENTER_INSIDE:将图片大小大于ImageView的图片进行等比例缩小,直到整 ...
问题:新打开acitivyt时,界面中的输入框获得到焦点,自动弹出软键盘 期望效果:activity,打开,软年盘不自动打开。当点击editText,再打开软键盘   解决方案: <activity android:name="SelectPartsActivity" android:screenOrientation="landscape" android:windowSoftInputMode="stateHidden|stateAlwaysHidden" ...
原文地址:http://www.blogjava.net/zhip/archive/2011/02/14/344258.html 在AndroidManifest.xml文件中的android:windowSoftInputMode属性使用 The AndroidManifest.xml File  <activity android:windowSoftInputMode=["stateUnspecified",                       ...
Global site tag (gtag.js) - Google Analytics