在注册回调轮换导致活动泄漏后,我在远程服务中遇到了回调问题.你能给我一些建议吗我做错了什么.
IRemoteApi.aidl
import com.example.remoteservice.IRemoteListener;
interface IRemoteApi{
void addListener(IRemoteListener listener);
void removeListener(IRemoteListener listener);
void sendRequest(String msg);
}
Run Code Online (Sandbox Code Playgroud)
IRemoteListener.aidl
interface IRemoteListener {
void onMessage(String text);
}
Run Code Online (Sandbox Code Playgroud)
RemoteService.java
public class RemoteService extends Service {
private static final String TAG = RemoteService.class.getSimpleName();
final RemoteCallbackList<IRemoteListener> mCallbacks = new RemoteCallbackList<IRemoteListener>();
@Override
public void onCreate() {
super.onCreate();
Log.e(TAG, "Create service...");
}
@Override
public void onDestroy() {
super.onDestroy();
mCallbacks.kill();
}
private void dumpMethod(String msg){
if(msg.equals("OK")){
final int N = mCallbacks.beginBroadcast();
for (int i=0; i<N; i++) {
try { …Run Code Online (Sandbox Code Playgroud)