摘要: 遇到OOM问题,需要使用VMRuntime类的时候才发现,原来2.3被移除了,想知道它是否有替代类?留下脚印,再继续。。。Android 2.3 API改变大全作者: Android开发网原创 时间: 2010-12-07 Android 2.3的API Level为9,有关所有的API改变,Android123帮助大家总结如下: 新增包android.media.audiofx 混响音效android.net.sip VOIP支持android.nfc NFC支付支持android.os.storage 存储管理类详细的请查看 Android 2.3新特性及改进列表,已正式发布一文移除类V. 阅读全文
posted @ 2012-08-01 13:53 EileenLiu 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 摘要: Android MediaProvider 使用 SQLite 数据库存储图片、视频、音频等多媒体文件的信息,供视频播放器、音乐播放器、图库使用。本文详细分析了 Android MediaProvider 多媒体数据库(以 SDK 2.3.3 为例)的模式(schema),并简要叙述与系统媒体扫描服务 MediaScanner 的交互。1. 如何提取数据库以 root 权限进入 adb shell,使用 sqlite3 打开位于手机上 /data/data/com.android.providers.media/databases 上的一个数据库。以 external 开头的数据库存储 阅读全文
posted @ 2012-05-10 13:20 EileenLiu 阅读(1660) 评论(0) 推荐(0) 编辑
摘要: 简介SDK 中的 android.opengl.GLSurfaceView 类提供如下功能:在 OpenGL ES 和 View 系统之间建立联系;使得 OpenGL ES 可以工作在 Activity 生命周期中;可选择合适的 frame buffer 像素格式;创建并管理一个单独的渲染线程,可以实现平滑的动画;提供 debugging 工具和 API。一个简单的 GLSurfaceView 应用package com.example.android.apis.graphics;import javax.microedition.khronos.egl.EGLConfig;import ja 阅读全文
posted @ 2012-04-26 15:29 EileenLiu 阅读(337) 评论(0) 推荐(0) 编辑
摘要: JAVA的GC机制(1) 一。谁在做Garbage Collection? 一种流行的说法:在C++里,是系统在做垃圾回收;而在Java里,是Java自身在做。 在C++里,释放内存是手动处理的,要用delete运算符来释放分配的内存。这是流行的说法。确切地说,是应用认为不需要某实体时,就需用delete告诉系统,可以回收这块空间了。这个要求,对编码者来说,是件很麻烦、很难做到的事。随便上哪个BBS,在C/C++版块里总是有一大堆关于内存泄漏的话题。 Java采用一种不同的,很方便的方法:Garbage Collection.垃圾回收机制放在JVM里。JVM完全负责垃圾回收事宜,应用只在需要时 阅读全文
posted @ 2012-03-26 10:19 EileenLiu 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 其实了解JAVA的人,都知道JAVA的GC机制是其的一大优点,它令程序员不需要主动去考虑内存溢出和垃圾回收的问题,不像c++具有显式的析构函数对整个对象进行内存清理以及需要调用delete才可以进行显示的销毁对象。当然也有存在特殊的情况:假定你的对象(并非使用new方法)获得了一块“特殊”的内存区域,由于垃圾回收器只知道那些显示地经由new分配的内存空间,所以它不知道该如何释放这块“特殊”的内存区域,那么这个时候java允许在类中定义一个由finalize()方法。对于上面这个问题,首先了解一下什么是“特殊”的内存区域?由于在分配内存的时候可能采用了类似 C语言的做法,而非JAVA的通常new 阅读全文
posted @ 2012-03-26 10:15 EileenLiu 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。3. Java中的数据类型有两种。 一种是基本类型(primitive types), 共有8种,即int, s... 阅读全文
posted @ 2012-03-26 10:11 EileenLiu 阅读(754) 评论(0) 推荐(0) 编辑
摘要: 第一种方法是常用的通过判断ExternalStorageState状态,确定sdCard是否已安装;第二种方法是既然sdCard安装后路径是固定的(/mnt/sdcard),那么可以判断此路径是否存在,进而确定sdCard是否已安装。//第一种方法privatebooleansdCardIsExsit(){returnEnvironment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);}//第二种方法privatebooleansdCardIsExsit(StringsdCardPath){//privateStrin 阅读全文
posted @ 2011-10-25 15:44 EileenLiu 阅读(708) 评论(0) 推荐(0) 编辑
摘要: Eclipse官方下载地址:http://www.eclipse.org/downloads/Android开发用ADT插件安装地址:http://dl-ssl.google.com/android/eclipse/如果上面的地址安装失败,可以尝试使用下边的地址:https://dl-ssl.google.com/android/eclipse/ADT插件10.0.1版本下载地址:http://dl.google.com/android/ADT-10.0.1.zipADT插件11.0.0版本下载地址:http://dl.google.com/android/ADT-11.0.0.zipADT插 阅读全文
posted @ 2011-09-06 10:35 EileenLiu 阅读(6811) 评论(0) 推荐(0) 编辑
摘要: 提出并实现一个改变世界的想法,已经足以使任何人名垂青史。但有一个人却在短短数年之间搞出了两个,这样的天才可能几十年之内只能诞生几个。他,就是本期名人堂的主人公——Twitter和Square的发明者Jack Dorsey,我们时代最伟大的移动应用开发者。Dorsey是有创业基因的。他的父亲19岁就和自己最好的朋友一起开了一家Pizza店,生意相当不错。店里招聘的第一位女服务员后来成了Dorsey的母亲。1976年,这位天才程序员诞生。Dorsey童年在美国密苏里州圣路易斯市度过。小时候他说话有障碍,因此沉默寡言,看上去有些笨拙。他非常迷恋城市,在自己房间里挂满了地图,凝视着,想象着城市里各个角 阅读全文
posted @ 2011-06-14 10:10 EileenLiu 阅读(282) 评论(0) 推荐(0) 编辑
摘要: IMF是input method framework的简称, 它是Android 1.5新添加进去的一个重要功能,用来支持软键盘、各种的输入法。到目前位置(2009-04-03),Android 1.5还没有正式发布,但IMF的功能已经很稳定,其上已经存在有3种输入法。分别是LatinIME(软键盘)、 OpenWnn(CJK输入法)、PinyinIME(GOOGLE 拼音),还缺少中文的手写、五笔。 虽说按照已有的输入法模块, 也能写出自己想要的输入法。但是弄懂底层一些的东西,对于写新的输入法还是有帮助的。我学习的目的就是这样。下面开始:相关代码的位置:frameworks/base/co. 阅读全文
posted @ 2011-06-10 15:57 EileenLiu 阅读(1170) 评论(0) 推荐(0) 编辑