우리는 아래의 코드 조각을 고려하면, 상기 Activity
가 파괴됩니다Asynctask 또는 Runnable의 수명주기가 Activity의 수명주기와 다른 이유는 무엇입니까? 예를 들어
public class HandlerExample extends AppCompatActivity {
private Handler mLeakyHandler = new Handler();
private TextView myTextBox;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_samples);
myTextBox = (TextView) findViewById(R.id.tv_handler);
// Post a message and delay its execution for 10 seconds.
mLeakyHandler.postDelayed(new Runnable() {
@Override
public void run() {
myTextBox.setText("Done");
}
}, 1000 * 10);
}
}
, 구성을 변경하거나 다른 이유로하든, Runnable
는하지 않습니다. Asynctask
에 대해서도 마찬가지입니다.
제 질문은 무엇입니까? Activity
에 신고되었다고해도 그것이 파괴되지 않는 이유는 무엇입니까?
이유에 대해 묻고 있습니다. 활동 클래스는 및 의 Runnable, AsyncTask를 등 UI 스레드에서 실행
, 로더는 u를위한 최고의 옵션입니다. https://developer.android.com/guide/components/loaders.html – uguboz
은 활동이 아니기 때문에 다릅니다. – petey