代码改变世界

ZygoteInit源码解读

2012-04-06 22:33 by 至上, 2278 阅读, 0 推荐, 收藏, 编辑
摘要:由app_main.cpp文件中调用ZygoteInit.java 进行创建第一个虚拟机。init.rc中可以设置与其相关的参数:servicezygote/system/bin/app_process-Xzygote 告诉操作系统 Zygote加入到系统服务中 -Xzygote,该参数将作为虚拟机启动时所需要的参数,是在AndroidRuntime.cpp类的startVm()函数中调用JNI_CreateJavaVM()时被使用的/system/bin--zygote--start-system-server --开头的都是参数 比如--start-system-server指的是Zyg. 阅读全文

java 简单的模糊查找

2012-04-05 20:41 by 至上, 5665 阅读, 0 推荐, 收藏, 编辑
摘要:最近做一个基于语音的文件管理器,说几个字就可以找到相应的文件或者歌曲,视频等当语音输入的,在文件中找不到完全匹配时,进行模糊查找,找到相似度最高的并且打开它。 File File1=new File("/sdcard/music"); 主函数的一部分 serchFile(File1); 查找 if(max==0) Toast.makeText(FileManager.this, "没有找到", Toast.LENGTH_LONG).show(); 报错 else openFile(maxfile); 打开找到的匹配度最高的那一个文件 String Key 阅读全文

Dalvik虚拟机源码解读

2012-04-04 13:09 by 至上, 4938 阅读, 0 推荐, 收藏, 编辑
摘要:Dalvik虚拟机的入口有两个1./Dalvikvm/Main.c2.frameworks/base/cmds/app_process.cpp这两个文件中都包含main函数 用于创建第一个虚拟机实例 虚拟机作为一种应用程序,运行它是需要main函数的 其中app_peocess.cpp继承了AndroidRuntime.cpp/frameworks/base/core/jni/AndroidRuntime.cpp第一个是用于开发用的,一般在x86上,开发调试时用。第二个是手机等移动设备上用的。区别在于开发时要使用dx工具等,实际手机就是使用android操作系统,运行.apk文件,不需要再做编 阅读全文