自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(24)
  • 资源 (2)
  • 收藏
  • 关注

原创 视频编解码初步

字节 半字 字 双字 四字x86: b w d q dqmips: b h w d q源码目录:run-openh264/: 运行程序的脚本文件openh264/: 我修改的openh264-nomodify/: 未修改,直接用git clone http://cgit.loongnix.org/cgit/openh264 下载的。25的服务器上:scp -

2016-05-24 09:16:33 838

转载 The H.264 Advanced Video Compression Standard(second edtion) Chapter 1 学习摘要

Chapter 1  Introduction1.1 a change of sceneVideo compression or video encoding is the process of reducing the amount of data requiredto represent a digital video signal, prior to transmission

2016-04-14 09:39:50 1041

原创 Android启动器停止运行的调试

一.开机时出现问题:很抱歉,”启动器“已停止运行,源码级调试如下:日志中Java调用栈如下:8044 03-27 15:37:40.747  3023  3039 E AndroidRuntime: FATAL EXCEPTION: setWallpaperDimension8045 03-27 15:37:40.747  3023  3039 E AndroidRuntime

2016-04-13 23:35:47 2466

原创 运行APP时dex2oat过程中DumpLIRInsn函数出错

运行APP时dex2oat过程中DumpLIRInsn函数出错,段错误SIGSEGV日志如下:03-17 11:36:58.403  2169  2169 I dex2oat : HXM lir->opcode:-103-17 11:36:58.403  2169  2169 I dex2oat : L0x75b3d4cc:03-17 11:36:58.404  2169  2169

2016-04-13 23:26:45 1012

原创 运行APP时dex2oat过程中无法在系统中创建文件夹

运行APP时在dex2oat的过程中,出现如下错误:*E dex2oat : Could not get file name restrictions for .//sdcard/1_post_parse_cfg/: No such file or directory*经追踪查找,是在文件compiler/dex/mir_graph.cc 中函数CreateDumpFile(...)内执行

2016-04-13 23:23:24 1618

原创 dexdump oatdump objdump 反汇编及生成oat文件

一. 反汇编:1. dexdump -d Neg.apk > neg-dexdump.txt (-d后面可以是.dex、.jar、.apk和.odex)2. oatdump --oat-file=data@[email protected]@classes.dex --output=neg-oatdump.txt --instruction-set=mips (--oat-file参数只能是o

2016-04-13 23:20:13 3042

原创 ART中添加 neg.s neg.d 指令及相关代码

一.android 5.0 中添加neg.s neg.d指令的代码:修改 build/core/main.mk 文件中 dalvik.vm.dex2oat-filter = interpret-only 为 speed , 重新编译.添加指令的代码:文件compiler/dex/quick/mips/mips_lir.h :enum MipsOpCode {..

2016-04-13 23:16:41 756

原创 interpret-only模式改为speed模式的测试时间对比

一.interpret-only模式改为speed模式的测试时间对比修改 /system/build.prop 文件中的 dalvik.vm.dex2oat-filter=interpret-only 为  dalvik.vm.dex2oat-filter=speed , 写一个测试时间的应用程序 TestTime.apk , 对比修改前后TestTime.apk 的执行时间。//

2016-04-13 23:11:58 4933

原创 ART 的 interpret-only模式源码及调用流程 & QuickCompiler后端调用流程

在文件compiler/dex/quick/quick_compiler.cc中取消 kCompilerDebugFlags 的注释,重新在根目录下编译,替换启动盘中相应的动态库。用eclipse写一个Helloworld程序安装到android系统中,或者在 /data/dalvik-cache/ 目录下删除一个应用程序的oat文件(classes.dex文件),重启系统。根据Logcat日

2016-04-13 23:04:21 3481

原创 ART中 MIR --> LIR --> 机器码 的流程

art/compiler/dex/quick/quick_compiler.cc中:QuickCompiler::Compile(...)函数内:Compiler::IsPathologicalCase(...) : 当前方法的指令条数和寄存器个数超过 UINT16_MAX / 4 时,编译器将不编译此方法,直接返回。创建编译单元: CompilationUnit cu(...),对应

2016-01-19 21:12:22 1333

原创 Dalvik的JIT编译流程 & ART的dex2oat流程

一.Dalvik的JIT编译流程Dalvik JIT是一个tracing JIT(也叫trace-based JIT),其中间表示分为两种,MIR与LIR。MIR与LIR节点各自形成链表,分别被组织在BasicBlock与CompilationUnit中。编译流程是: 0、创建CompilationUnit对象(一个trace对应一个CompilationUnit)来存放一次编译中需要

2016-01-19 21:01:31 3077

原创 U盘启动android 5.0

制作龙芯机器上的Android硬盘1.假定拿来一块新的硬盘,建立ext2分区,用于部署Android系统及应用文件2.格式化成ext2分区3.创建/boot目录4.把支持龙芯Android系统的Linux内核复制到 /boot 目录下(目前已移植到3a70e的内核为vmliux-android-3.4.2,可以从上面提供的“成品”压缩包中找到)5.将编译后在 WORKING_D

2016-01-19 20:52:50 624

原创 JVM垃圾收集 & Dalvik垃圾收集资料

JVM内存管理及垃圾回收: http://www.cnblogs.com/likehua/p/4023667.htmlG1垃圾收集器: http://blog.csdn.net/woshiqjs/article/details/7290513深入学习JVM堆与JVM栈: http://developer.51cto.com/art/201009/227812_all.htmMinor

2016-01-19 20:48:00 427

原创 eclipse调试与android性能优化资料

一.eclipse调试跟踪eclipse调试的方法和技巧: http://www.cnblogs.com/ycxyyzw/archive/2013/03/27/2983905.htmlEclipse调试Java的10个技巧: http://www.oschina.net/question/82993_69439如何调试跟踪Android源代码: http://android.tgbus

2016-01-19 20:41:56 422

原创 AVD启动后出现 "Storage space running out"

ART模式的AVD启动后出现 "Storage space running out", Internal storage 可用空间只有几百KB,导致一些系统预装的应用程序启动时出现闪退的情况,无法使用。尝试在源代码中修改 Internal storage 的大小:grep "BOARD_USERDATAIMAGE_PARTITION_SIZE" -rn |vi - ,将值改为原来的2倍

2016-01-19 20:38:04 2034

原创 Dalvik切换到ART时内存地址对齐问题的分析(2)

Dalvik 与 ART 区别:dalvik: .java -> .class -> .dex -> .apk 或 .jar -> .dex -> .dey ( .odex )art: .java -> .class -> .dex -> .apk 或 .jar -> .dex -> .oat ( .odex )在 MIPS 的 art/runtime/stack.h 中的函数 G

2016-01-19 20:32:43 451

原创 Dalvik切换到ART时内存地址对齐问题的分析(1)

AVD启动时打印详细日志信息需要取消 art/runtime/runtime.cc 文件中的374至384行(gLogVerbosity...)的注释。在之前追踪的函数调用过程中,在文件 art/compiler/driver/compiler_driver.cc 中函数 void CompilerDriver::InitializeClasses(...) 内添加打印dex文件的总数及当

2016-01-19 20:29:25 793

原创 android 4.0.3 设置时间无法更新到RTC

1.跟踪执行路径:packages/apps/Settings/src/com/android/settings/DateTimeSettings.javaonTimeSet(...) --> setTime(...) --> SystemClock.setCurrentTimeMillis(when)frameworks/base/core/java/android/os/Sys

2016-01-19 20:17:40 2074

原创 2H开发板启动 android 4.0.3 系统

服务器端(2H开发板)先不接硬盘,通过USB转串口线连接到宿主机,按下2H开发板启动按钮,服务器端(2H开发板)进入pmon命令行界面.1.在宿主机上通过minicom登录到服务器端:(minicom设置步骤详见: http://baike.baidu.com/link?url=Pz5L

2016-01-19 20:10:41 596

原创 下载编译 Qt 5 for Android 并新建工程

步骤详见: http://wiki.qt.io/Android步骤1-4略5.安装jdk1.6.0.45: http://blog.csdn.net/zjclugger/article/details/117620856.配置QT for Android,忽略不支持的模块:(配置的参数位于QT源码根目录qt-everywhere-opensource-src-5.5.0/qtbas

2016-01-18 23:44:20 1989

原创 Dalvik与ART相关源代码分析

dex2oat可执行文件被调用的过程分析: http://m.blog.csdn.net/blog/cosmoslhf/40380559dex2oat将dex文件转换为oat文件的执行路径概览: http://m.blog.csdn.net/blog/zylc369/39452053Art下DexClassLoader将dex文件转化为oat文件格式的过程: http://m.bl

2016-01-18 23:40:24 473

原创 Dalvik模式切换到ART模式时出现问题及整个函数调用过程

对切换到ART模式后的启动日志进行分析,发现如下错误:ERROR 1 : Fatal signal 10 (SIGBUS) at 0x00000000 (code=128), thread 115 (main)……backtrace:#00 pc 0005d4fc /system/lib/libart.so#01 pc 0016a03c /system/lib/libart.s

2016-01-18 23:29:08 1384

原创 服务器端启动AVD(Android Virtual Device)

在.bashrc中添加了如下代码:export ANDROID_PRODUCT_OUT_BIN=~/android4.4.4/out/host/linux-x86/binexport ANDROID_PRODUCT_OUT=~/android4.4.4/out/target/product/genericexport ANDROID_SWT=~/android4.4.4/out/hos

2016-01-11 23:13:05 1199

原创 下载、编译android4.4.4源码

下载源码、配置环境和编译的软硬件要求见Android官网。一. 下载源码(步骤详见Android官网: http://source.android.com/source/initializing.html )1.安装代码下载工具 repo2.初始化一个 repo client3.下载 android4.4.4 源代码二. 配置编译环境(步骤详见 Androi

2016-01-11 23:02:14 906

linux内核完全注释(修正版V3.0) 赵炯

本书对linux 0.11 内核代码进行了详细的注释,对研究内核代码具有很好的参考价值。

2016-01-03

国际象棋中马的遍历问题的源代码

国际象棋的棋盘有8×8=64个格子,给它们规定坐标(1,1)到(8,8)。马在这64个格子的某一个格子上,它的跳动规则是:如果它现在在(x,y)位置,它下一步可以跳到(x±1,y±2)或(x±2,y±1)(所有的“±”之间没有相关性)。一般来说它下一步可以有八种跳法,但是它不能跳出这64个格子。 设计算法使它不管从哪出发都可以跳遍所有的格子(每个格子只能路过一次)最后回到起点。 1.基本要求: 合理设计界面,自行设计国际象棋棋盘,用鼠标选择马的起始位置,起始位置选定后,按“开始”按钮演示马的每一步行走路线。棋盘和马的显示尽量美观逼真。功能菜单或按钮自行设计,以合理为目的。 2.扩展要求: 对算法进行优化,根据j.c.Warnsdorff规则设计算法,该规则是在所有可跳的方格中,马只可能走这样一个方格:从该方格出发,马能跳的方格数为最少;如果可跳的方格数相等,则从当前位置看,方格序号小的优先。

2012-07-18

空空如也

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

TA关注的人

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