4

UIスレッドでメソッドが呼び出されたかどうかを確認するテストを作成する方法を知っている人はいますか(または理想的にはこれの例があります)?

4

2 に答える 2

4

次のリンクから参照された回答:

現在のスレッドがメインスレッドでないかどうかを確認する方法

このスレッドが UI スレッドかどうかを知る方法

1)Looper.myLooper() == Looper.getMainLooper()

2) Android アプリには UI スレッドが 1 つしかないため、onCreate() などのアクティビティ コールバックのどこかでその ID をチェックして保存し、後でそのスレッドの ID を保存されているものと比較することができます。

 mMainThreadId = Thread.currentThread().getId();

3) UI スレッドで何かを実行し、アクティビティへの参照を使用する場合

mActivity.runOnUiThread( new Runnable() {
    @Override 
    public void run() {
    ...
    }
});

それが役に立てば幸い

于 2013-09-02T11:17:41.920 に答える
3

UI スレッドは常に id = 1 であるため、以下を確認してください。

if(Thread.currentThread().getId() == 1) {
///...
}
于 2013-09-02T11:17:21.800 に答える