1
凌空ImageLoader
強制執行的請求應該從主UI線程啓動:從主UI線程以外的線程調用Volley是否安全?
public ImageContainer get(String requestUrl, ImageListener imageListener,
int maxWidth, int maxHeight) {
// only fulfill requests that were initiated from the main thread.
throwIfNotOnMainThread();
我認爲這是保證響應回調發生在主UI線程上,大概是因爲有一個假設,即主叫將想要更新回調中的用戶界面。
但是,我想在我的GCM通知處理中使用Volley,它只需要發送PendingIntent,而不是直接更新UI。我想知道在這種特殊情況下刪除throwIfNotOnMainThread()
是否安全。我懷疑這是否安全,但我想知道爲什麼有人能給出一個很好的理由?
(僅供參考,它看起來像RequestQueue
已經同步到mCurrentRequests
訪問,所以似乎裏面凌空請求隊列內部鎖定。)