私は現在、アダプタを更新するために私のアプリでrxandroidを実装しようとしています。 唯一の問題は、adapter.notiyDataSetChanged()を呼び出すと、メソッドが終了するまでアプリがフリーズすることです。新しいスレッドでサブスクライバを実行するrxandroid
これは私がこれまで何をやったかである:...
private Subscriber<? super Object> subscriber = new Subscriber<Object>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(Object o) {
adapter.notifyDataSetChanged();
}
}
};
、その後、私はonPause内部onResume
@Override
public void onResume() {
super.onResume();
MObservable.getInstance().getObservable()
.delay(2000,TimeUnit.MILLISECONDS,Schedulers.trampoline())
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(subscriber);
}
と退会の内側にサブスクライブします。
イベントは、1分に何回もプロセスに星印を付けるサービスでトリガーされます。
最後に私の質問です:通知メソッドが呼び出されている間、アプリケーションをフリーズする方法はありますか?私のコードで新しいスレッドで実行されている通知か、subscribeOnは(私が疑うように)メインスレッドで通知を実行しています。
は問題がSchedulers.trampoline()
断片である、