我正在使用基於網絡的android項目,因此,爲了防止由於Can't do network operation on UI Thread
而導致在Android ICS上強行關閉,我必須使用下面的代碼部分或嘗試在其他線程上啓動我的網絡操作,但我不想更改基本代碼,所以我應該在Android ICS上使用以下代碼。 :Android中的StrictMode類
static {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
.permitAll().build();
StrictMode.setThreadPolicy(policy);
}
我該如何讓獨特的apk文件在所有android版本(> = 1.6)中運行? android.os.StrictMode
可用於更高版本的Android,因此,我無法嘗試在我的Android活動中使用上述部分代碼。因此,該解決方案是更好:
- 用思考來運行的代碼更高版本的API,這部分(
As oracle docs, reflective operations have slower performance than their non-reflective counterparts
) - 我的Android構建目標更改到Android 4.1.1(API 16),並嘗試改變AndroidManifest.xml上的
android:minSdkVersion
或者如果您知道任何更好的,請告訴我。
感謝提前:)
更改您的代碼並將其移出UI線程。 UI線程上的網絡甚至比反射慢 – zapl
好主意,但它有更多的時間花費!我想在不改變網絡和UI線程衝突的情況下做到這一點。 :) –