摘要: Android中native进程内存泄露的调试技巧红狼博客代码基于Android2.3.x版本Android为Java程序提供了方便的内存泄露信息和工具(如MAT),便于查找。但是,对于纯粹C/C++ 编写的natvie进程,却不那么容易查找内存泄露。传统的C/C++程序可以使用valgrind工具,也可以使用某些代码检查工具。幸运的是,Google的bionic库为我们查找内存泄露提供了一个非常棒的API--get_malloc_leak_info。利用它,我们很容易通过得到backtrace的方式找到涉嫌内存泄露的地方。代码原理分析我们可以使用adb shell setprop libc. 阅读全文
posted @ 2013-01-31 10:00 博文视点(北京)官方博客 阅读(6097) 评论(0) 推荐(0) 编辑
摘要: Looper中的消息队列处理机制Looper也提供了消息的定义、消息的发送、消息的处理者的自定义和消息队列。在其头文件Looper.h中,定义了消息结构体Message,它只有一个类型成员,Message的定义如下(见文件Looper.h,下同): 消息的处理者可由MessageHandler进行处理:使用者可通过派生出子类来扩展消息。对消息的处理,需要在MessageHandler的子类中重载handleMessage函数。它们将被封装到消息“信封”MessageEnvolope中,然后送到消息队列中。MessageEnvolope的定义如下:Looper中维护着一个自己... 阅读全文
posted @ 2013-01-31 09:27 博文视点(北京)官方博客 阅读(370) 评论(0) 推荐(0) 编辑