ANR (Application Not Responding) issue

ANR問題是每一個Android 工程師都會遇到的.
要解決的方法很多,但AsyncTask是最佳的方法.
如下圖,activity 1要轉換到activity2,如果中間有 loading很大量的資料,就會發生ANR問題.


public class DrawActivity extends Activity{ //implements OnClickListener {
    /** Called when the activity is first created. */
   
    private ImageView img1;

   
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        Toast toast=Toast.makeText(DrawActivity.this, "Welcome to 小米app...", Toast.LENGTH_LONG);
        toast.show();
       
        new Loading().execute();

    }
   
   

    private class Loading extends AsyncTask<Void,Void,Void>
    {
        @Override
        protected Void doInBackground(Void... arg0)
        {
           
            try {
                Thread.sleep(3000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
               
            Intent intent=new Intent();
            intent.setClass(DrawActivity.this, StartApp.class);
            startActivity(intent);
           
            return null;
        }
       
        protected void onPostExecute(Void noUse)
        {
            Toast toast=Toast.makeText( DrawActivity.this, "hello.", Toast.LENGTH_LONG);
            toast.show();
        }
       
       
    }

}

   








留言

這個網誌中的熱門文章

最爛的銀行服務-玉山銀行

Mark App Design Apps - Terms and Privacy Policy (服務條款,隱私權政策)

SMR疊瓦式hdd致命缺陷被解決????!!!

ios app 上架時app icon要注意事項

更改google drive預設存放目錄位置Change Google Drive Default Folder Location in Windows

google play 正式發布前測試報告...非常好用.

舊有app在Android 12 閃退問題& app Splash screens

app bundle and bundletool. 關於aab安裝問題

關於google play console app應用程式簽署

Google Play badge徽章產生器