自定义博客皮肤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

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

2017-05-29 08:41:23 10471

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

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

2017-05-28 23:18:12 2100

原创 Profile 工具系列之二: gperftools

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

2017-05-22 13:13:14 4509

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

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

2017-05-14 23:37:56 731

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

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

2017-05-09 09:21:50 780

原创 zygote 和 app 的启动过程

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

2017-05-07 11:46:39 979

原创 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 3397

原创 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 992

原创 JNI 原理与入门

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

2017-05-01 21:05:21 366

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

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

2017-05-01 09:35:35 296

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

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

2010-03-10 09:00:00 400

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

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

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

mfco42d.dll

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

2010-01-07

空空如也

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

TA关注的人

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