看不懂.
绕来要去, Activity最终通过ServiceConnection获得一个Service实例的引用(Binder持有)
为什么不直接实例化Service得到其引用?
而且代码里还循环依赖, Service持有Binder的引用, Binder又持有Service的引用.
//----------------------Service代码------------------------------
public class MyService extends Service {
private static final String TAG = "zjy";
// 第4步,实例化一个MyBinder对象
private MyBinder mBinder = new MyBinder(this);
@Nullable
@Override
public IBinder onBind(Intent intent) {
return mBinder;//第4步,返回这个mBinder对象
}
//-------------------Binder代码-------------------------------
public class MyBinder extends Binder {
private static final String TAG = "zjy";
private MyService mService;
private OnTestListener mListener;
public MyBinder(MyService service) {
this.mService = service;
}
--
FROM 58.101.35.*