native层解析
2017-09-17 20:03:26 0 举报
Android native层解析
作者其他创作
大纲/内容
private native final void destroy()
finalize()中的destroy()方法
在C++中,对象的内存布局是先放置父类,然后放置自己的成员。而一个对象中方法是不占空间的,如果有虚函数会有一个虚函数表的地址(4字节)放置在对象的最开始,然后放置各个成员变量。这个类是有虚函数的,所以这里的mRefs变量的地址是DeathRecipientList对象也就是我们设置的mOrgue指针指向地址+4
android_os_BinderProxy_destory()本地方法
调用
Java层
RefBase
weakref_impl* const mRefs
public void decStrong(const void* id) virtual void onLastStrongRef(const void* id)
在destroy方法中,将gBinderProxyoffsets.mOrgue转换成一个DeathRecipientList*对象指针
Native层
0 条评论
回复 删除
下一页