您的位置:首页 > 其它

如何了解一个源码(或者第三方插件)的运行机制

2016-06-22 18:29 190 查看
首先得知道那个插件“如何运行”

因为不知道怎么运行,就根本不知道怎么“启动”,怎么“结束”

举个例子:android-Ultra-Pull-To-Refresh

要求必须要传入回调---ptrFrame.setPtrHandler(new PtrHandler() )

启动要执行“ptrFrame.autoRefresh();”

从“启动的代码”出发找你的“回调方法”(不过这个只是针对一些结构比较简单的插件)

找到就知道,

回调前会执行些什么,

功能触发条件

例子:

AsyncTask

从“启动的代码”出发“类创建”再到 “你的处理方法”(对于一些结构类似“消息队列”)

例子:Handler的消息机制(或者线程间通信)

启动的代码

childHandler.post(new Runnable() {
@Override
public void run() {

}
});


创建时

Handler.Callback callback =  new Handler.Callback(){

@Override
public boolean handleMessage(Message msg) {
return false;
}
};

Looper.prepare();
Handler childHandler = new Handler(callback);
Looper.loop();


你的处理方法,


mCallback.handleMessage(msg);
或者

handleMessage(msg);



因为有looper一直在遍历内部的MessageQuese,

解决:

所以从“启动代码”去到某个位置就断开了。

不知名就去到处理方法

不定时持续更新
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: