自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 Profile 工具系列之四:simpleperf

关于 simpleperfsimpleperf 是 google 随 NDK 一起发布的一款 profile 工具,从 NDK r13 开始官方文档请参考 google 在 NDK 里放的 READMEHelloWorld 步骤把 simpleperf 可执行程序 push 到手机上。 simpleperf 在 NDK-r13b 的 simpleperf/android/ 里。根据被测程序和

2017-05-29 08:41:23 9969

原创 Profile 工具系列之三:oprofile(Android,未成功)

写在前面本文研究了一下用 oprofile 在 Android 做 profile 之后,最终弃用原因之一是编译内核比较麻烦(oprofile 需要内核的配合)原因之二是从 Android N 开始,官方已经不再使用 oprofile原因之三是找到了好的替代品:simpleperf关于 oprofile关于正常的 Oprofile(Linux 下的):参考: http://www.cnb

2017-05-28 23:18:12 1971

原创 Profile 工具系列之二: gperftools

简介gperftools 原名 Google Performance Tools,是一套可以做 profile 的工具,由 google 提供。目前看来在 Linux 上特别的好使,Windows 基本不能用(官网说 Windows 正在开发,不知道会不会有下文)CPU profile 只是这个工具其中一个 feature,我们就用这个 feature。其他 feature 还有 tcmal

2017-05-22 13:13:14 4044

原创 基于 Binder 的跨进程通信以及 Service(二):Java 层

同进程使用Service(一)比如,你做了一个音乐播放 app,里面有一个 MusicService 负责后台播放音乐,对外提供 play(),pause() 的接口你在一个 Activity 里想调用这个 Service 的 play(),怎么搞?必须在这个 Activity 里拿到刚才启动的 MusicService 的实例,但这是不可能的。Service 实例是由安卓OS维护的,你拿不到

2017-05-14 23:37:56 621

原创 基于 Binder 的跨进程通信以及 Service(一):Native 层

写在前面本文集中讲的是 Native 层的 Binder 通信以及 ServiceJava 层的在下一篇里单讲理论基础1. 服务是什么?可以简单的把服务理解为进程里的一个对象,它能干活,而且能被别的进程“引用”。比如你搞了个进程,里面 new 了一个 MyWorker 对象,该对象可以被其他进程“引用”,并调用它的 do_work() 函数来干活。那么这个对象就是一个服务。一个对象想成为

2017-05-09 09:21:50 608

原创 zygote 和 app 的启动过程

写在前面zygote 是在一个 Android Linux 上的一个进程zygote 进程在启动的过程中,fork 出了 system_server 进程zygote 进程稳定后,就在自己的主循环里等待客户端连接自己执行命令system_server 进程里面跑着很多 Android 系统的 Service,包括 ActivityManagerService用户 app 进程,都是从 zy

2017-05-07 11:46:39 881

原创 Profile 工具系列之一:gprof

先说结论gprof 在目前来说,在 profile 界并没有明显优势首先是对动态库支持不好其次它基本可以被 gperftools 取代所以没兴趣的就不必往下看了用法gcc 编译时带上 -pg 参数,运行程序时就会生成 gmon.out 文件然后用 gprof 命令分析该文件gcc 的 -pg 参数You must use this option when compiling the

2017-05-07 11:24:40 3077

原创 JNI 原理进阶

回顾JNI 要点Java 要 load 库Java 要把方法声明为 native 的C 语言实现 Java 的 native 方法时,函数名有固定形式,可以用 javah 生成头文件得到函数名Java 调用 C 函数时,JVM 会自动传两个参数下去: 分别是 JNIEnv * 和 jobject 类型的层:Java -> JNI -> Native分三层 最上面是 Java 层中间是

2017-05-02 14:56:08 858

原创 JNI 原理与入门

JNI 是什么HelloWorld编写 java 文件编译 java 文件编写 c 语言文件编译 c 语言文件运行Android 中的 JNI 简介NDKNative 层和 JNI 层附录附录1让 Java 自动帮我们生成C函数名附录2如何生成 dll方法1 使用 VisualStudio方法2 使用 cl 命令行JNI 是什么JNI = Java Native In

2017-05-01 21:05:21 298

原创 欢迎使用CSDN-markdown编辑器

CSDN支持Markdown写博客了本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-05-01 09:35:35 238

转载 vs.net 2005, 没有找到MSVCR80D.dll的解决方案

在“属性->配置属性->清单工具->常规“下有一个”使用FAT32解决办法,把它选成是,就可以了。(注意:一定要先配置这个选项,然后再编译工程,要不然还是不好用:)

2010-03-10 09:00:00 360

原创 在winXP下返回当前线程所在CPU(多核)的方法

在vista  win2003  win7(函数略有不同)中,都有专门的api返回当前线程所在的cpu,但xp下就没有,只能自己搞。一下是在国外一网站上找的自己写的函数来实现这一功能:(注:vista  win2003 的api是GetCurrentProcessorNumber()   win7是GetCurrentProcessorNumberEx() ) GetCurrentPr

2010-03-09 21:28:00 1907 1

mfco42d.dll

VC编译通过,运行时提示mfco42d.dll的错误,下载此dll复制到system32下即可。

2010-01-07

空空如也

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

TA关注的人

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