06 2015 档案

摘要:之前在做一个native的模块时遇到这样一个问题:代码运行在android2.3上没有任何问题,可是在4.2上运行时报出了:JNI ERROR (app bug): accessed stale local reference 的错误。后来在StackOverflow上找到了问题的答案。简单来说就是... 阅读全文
posted @ 2015-06-29 22:44 神奇的洋葱 阅读(865) 评论(0) 推荐(0) 编辑
摘要:1: 从 Android 2.3 (API Level 9)开始,垃圾回收器会更倾向于回收持有软引用或弱引用的对象,这让软引用和弱引用变得不再可靠。2: Android 3.0 (API Level 11)中,图片的数据会存储在本地的内存当中,因而无法用一种可预见的方式将其释放,这就有潜在的风险造成... 阅读全文
posted @ 2015-06-29 22:43 神奇的洋葱 阅读(508) 评论(0) 推荐(0) 编辑
摘要:ServiceConnection中的onServiceDisconnected()方法在正常情况下是不被调用的,它的调用时机是当Service服务被异外销毁时,例如内存的资源不足时这个方法才被自动调用。 阅读全文
posted @ 2015-06-29 22:42 神奇的洋葱 阅读(1253) 评论(0) 推荐(0) 编辑
摘要:public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContent... 阅读全文
posted @ 2015-06-29 22:41 神奇的洋葱 阅读(240) 评论(0) 推荐(0) 编辑
摘要:出现如下异常可能是so库与系统硬件架构不符合04-17 11:13:56.672 W/linker ( 3090): libxxx.so has text relocations. This is wasting memory and is a security risk. Please fix.0... 阅读全文
posted @ 2015-06-29 22:40 神奇的洋葱 阅读(231) 评论(0) 推荐(0) 编辑
摘要:最近遇到了这样一个问题,在Android开启StrictMode的时候,会抛出一个异常如下:04-01 16:07:56.864: E/StrictMode(26867): A resource was acquired at attached stack trace but never relea... 阅读全文
posted @ 2015-06-29 22:39 神奇的洋葱 阅读(3984) 评论(0) 推荐(0) 编辑
摘要:在做Android开发时,很多应用由于各种目的,希望在机器启动时被唤醒,一般的做法是写一个BroadcastReceiver,接收对应的boot action,当然别忘了在Manifest中添加permission "android.permission.RECEIVE_BOOT_COMPLETED... 阅读全文
posted @ 2015-06-29 22:36 神奇的洋葱 阅读(486) 评论(0) 推荐(0) 编辑
摘要:Android 2.3起新增加了android.os.StrictMode.这个类可以用来帮助开发者改进他们编写的应用,并且提供了各种的策略,这些策略能随时检查和报告开发者开发应用中存在的问题,比如可以监视那些本不应该在主线程中完成的工作或者其他的一些不规范和不好的代码。目前,有两大类的策略可供使用... 阅读全文
posted @ 2015-06-29 22:35 神奇的洋葱 阅读(357) 评论(1) 推荐(0) 编辑
摘要:修改Android系统内/system目录权限使其可读写,命令太长总是记不住:"mount -o remount,rw /dev/block/mtdblock3 /system" 阅读全文
posted @ 2015-06-29 22:34 神奇的洋葱 阅读(3180) 评论(0) 推荐(0) 编辑
摘要:应用程序创建Context实例的情况有如下几种情况:1、创建Application 对象时, 而且整个App共一个Application对象2、创建Service对象时3、创建Activity对象时因此应用程序App共有的Context数目公式为:总Context实例个数 = Service个数 +... 阅读全文
posted @ 2015-06-29 22:33 神奇的洋葱 阅读(669) 评论(0) 推荐(0) 编辑
摘要:1.类的主动使用与被动使用以下是视为主动使用一个类,其他情况均视为被动使用!1):初学者最为常用的new一个类的实例对象(声明不会主动使用)2):对类的静态变量进行读取、赋值操作的。而对于静态常量(static final)不会初始化此类。3):直接调用类的静态方法。4):加载一个类或者反射调用一个... 阅读全文
posted @ 2015-06-29 22:32 神奇的洋葱 阅读(587) 评论(0) 推荐(0) 编辑
摘要:FLAG_ACTIVITY_NEW_TASKStart the activity in a new task. If a task is already running for the activity you are now starting, that task is brought to th... 阅读全文
posted @ 2015-06-29 22:31 神奇的洋葱 阅读(1710) 评论(0) 推荐(0) 编辑
摘要:The official doc about onDestroy method:protected void onDestroy () Added in API level 1 Perform any final cleanup before an activity is destroyed. Th... 阅读全文
posted @ 2015-06-29 22:30 神奇的洋葱 阅读(143) 评论(0) 推荐(0) 编辑
摘要:package producer_customer;public class ProducerCustomer1 {public static int limit = 10;public static int have = 0;public static int start = 0;Task[] t... 阅读全文
posted @ 2015-06-29 22:29 神奇的洋葱 阅读(690) 评论(0) 推荐(0) 编辑
摘要:Android内置了sqlite数据库,程序开发中经常使用到,已安装的程序,如何通过adb查看以创建的表结构呢?在android下通过adb shell命令可以进入sqlite3的命令行client,见:在android命令行下使用sqlite3。如果想列出该数据库中的所有表,可:.table如果想... 阅读全文
posted @ 2015-06-29 22:28 神奇的洋葱 阅读(3644) 评论(0) 推荐(0) 编辑
摘要:首先介绍一下什么是Map。在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value。这就是我们平时说的键值对。HashMap通过hashcode对其内容进行快速查找,而 TreeMap中所有的元素都保持着某种固定的顺序... 阅读全文
posted @ 2015-06-29 22:27 神奇的洋葱 阅读(206) 评论(0) 推荐(0) 编辑
摘要:\system\app这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\文件夹中。\system\bin这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的... 阅读全文
posted @ 2015-06-29 22:26 神奇的洋葱 阅读(1831) 评论(0) 推荐(0) 编辑
摘要:Activity有四种加载模式:standard(默认), singleTop, singleTask和 singleInstance。以下逐一举例说明他们的区别:standard:Activity的默认加载方法,即使某个Activity在 Task栈中已经存在,另一个activity通过Inten... 阅读全文
posted @ 2015-06-29 22:25 神奇的洋葱 阅读(144) 评论(0) 推荐(0) 编辑
摘要:class文件是由8bits的字节流组成,全部字节构成了15个有意义的项目。这些项目之间没有任何无意义的字节,因此class文件非常紧凑。下面看一下class文件的内容具体含义:1.magic(魔数):魔数是class文件开头的4个字节,值为0xCAFEBABE,主用要用途是判断一个文件是否是cla... 阅读全文
posted @ 2015-06-29 22:24 神奇的洋葱 阅读(300) 评论(2) 推荐(0) 编辑
摘要:1、Dalvik 基于寄存器,而 JVM 基于栈。2、Dalvik负责进程隔离和线程管理,每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例3、不同于Java虚拟机运行java字节码,Dalvik虚拟机运行的是其专有的文件格式Dex,ex文件格式可以减少整体文件尺寸4、所有的An... 阅读全文
posted @ 2015-06-29 22:23 神奇的洋葱 阅读(129) 评论(0) 推荐(0) 编辑
摘要:Java中变量分为静态变量,实例变量,临时变量。他们在JVM中存储的位置如下:静态变量位于方法区实例变量作为对象的一部分,保存在堆中。临时变量保存于栈中,栈随线程的创建而被分配。附JVM结构图 阅读全文
posted @ 2015-06-29 22:22 神奇的洋葱 阅读(4632) 评论(0) 推荐(0) 编辑
摘要:Android系统会尽可能长的延续一个应用程序进程,但在内存过低的时候,仍然会不可避免需要移除旧的进程。为决定保留或移除一个进程,Android将每个进程都放入一个“重要性层次”中,依据则是它其中运行着的组件及其状态。重要性最低的进程首先被消灭,然后是较低的,依此类推。重要性共分五层,依据重要性列表... 阅读全文
posted @ 2015-06-29 22:21 神奇的洋葱 阅读(280) 评论(0) 推荐(0) 编辑
摘要:之前介绍了Android Service与Thread的区别(点击查看Service与Thread区别),由于Service不是线程,它是在主线程中运行的,因此在Service中应该避免耗时操作,之前看到过很多帖子和代码都把耗时操作交给Service去处理,这样是不合理的。如果Service中有耗时... 阅读全文
posted @ 2015-06-29 22:18 神奇的洋葱 阅读(335) 评论(0) 推荐(0) 编辑
摘要:不知道大家有没有和我一样的疑惑,在学习Android Service的时候,发现它和Thread很像。虽然,教程中一再强调,Service不是Thread,但是用了好久也没有发现他们的区别,在很多地方,都错误的使用Thread来代替Service去工作。但时间长了,发现Service和Thread区... 阅读全文
posted @ 2015-06-29 22:17 神奇的洋葱 阅读(1676) 评论(0) 推荐(0) 编辑
摘要:ContentObserver——内容观察者,目的是观察(捕捉)特定Uri引起的数据库的变化,继而做一些相应的处理,它类似于数据库技术中的触发器(Trigger),当ContentObserver所观察的Uri发生变化时,便会触发它。触发器分为表触发器、行触发器,相应地ContentObserver... 阅读全文
posted @ 2015-06-29 22:14 神奇的洋葱 阅读(1377) 评论(0) 推荐(0) 编辑
摘要:Android 编译完成后,将在根目录中生成一个out文件夹,所有生成的内容均放置在这个文件夹中。out文件夹如下所示:out/-- CaseCheck.txt-- casecheck.txt-- host//表示在主机(x86)生成的工具-- common-- linux-x86/darwin-x... 阅读全文
posted @ 2015-06-29 22:13 神奇的洋葱 阅读(555) 评论(0) 推荐(0) 编辑