2013-07-10 40 views
1

每當我使用Geocode類的反向地理編碼獲取當前城市名稱時,整個用戶界面會凍結片刻,直到返回響應。我如何避免這個問題?Android地理編碼延遲問題

+3

你可能想要做的是,在一個單獨的線程不在UI線程。 –

+1

在後臺線程(AsyncTask)中執行地理編碼的東西 –

回答

3

您可能需要使用一個AsyncTask

private void doGeoCode(Location loc){ 

AsyncTask<Location,Void,String> task = new AsyncTask<Location,Void,String>(){ 

    @Override 
    protected String doInBackground(Location... args) { 
     Location loc = args[0]; 
     String address = "Unknown"; 

     //--do geo code lookup-- 

     return address; 
    } 

    @Override 
    protected void onPostExecute(String address){ 
     //--set some TextView's text etc. 
    } 

}; 

    task.execute(loc); 
}