SORU
11 EKİM 2012, PERŞEMBE


Android temelleri: kullanıcı arabirimi iş parçacığı çalışan kod

UI iş parçacığı çalışan kod açısından, orada arasında herhangi bir fark var:

MainActivity.this.runOnUiThread(new Runnable() {
    public void run() {
        Log.d("UI thread", "I am the UI thread");
    }
});

ya

MainActivity.this.myView.post(new Runnable() {
    public void run() {
        Log.d("UI thread", "I am the UI thread");
    }
});

ve

private class BackgroundTask extends AsyncTask<String, Void, Bitmap> {
    protected void onPostExecute(Bitmap result) {
        Log.d("UI thread", "I am the UI thread");
    }
}

CEVAP
11 EKİM 2012, PERŞEMBE


Bunların hiçbiri aynı net bir etkiye sahip olmalarına rağmen tam olarak aynıdır.

Birinci ve ikinci arasında fark olursa olabilirkod, ilk (runOnUiThread()) yürütürken, ana uygulama iş parçacığı Runnable hemen çalıştırır. İkincisi (post()) Her zaman zaten ana uygulama iş parçacığı varsa bile olay sıranın sonunda Runnable koyar.

Üçüncüsü, farz oluşturmak ve yürütmek örneği BackgroundTask, atık bir sürü zaman kapma bir iplik iş parçacığı havuzu çalıştırmak için varsayılan hayır-op doInBackground(), önce sonunda ne miktarda bir post(). Bu şimdiye kadar üç en verimli. Eğer gerçekten onPostExecute() kullanmak için bir arka plan iş parçacığı, sadece yapmam gereken işler varsa AsyncTask kullanın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ama Jenna

    Ama Jenna

    29 NİSAN 2011
  • MultiPlayStationMan

    MultiPlaySta

    17 Aralık 2009
  • The Weavers of Eternity Paracord Tutorials

    The Weavers

    1 Ocak 2014