Android StrictMode 是一個用于檢測應用中可能存在的性能問題和線程安全問題的工具
首先,在 AndroidManifest.xml
文件中添加以下權限:
<uses-permission android:name="android.permission.INTERNET" />
接下來,在應用的主類(通常是 MainActivity.java
)中啟用 StrictMode:
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.os.StrictMode;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 啟用 StrictMode
if (BuildConfig.DEBUG) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
.detectAll()
.penaltyLog()
.build();
StrictMode.VmPolicy vmPolicy = new StrictMode.VmPolicy.Builder()
.detectAll()
.penaltyLog()
.build();
StrictMode.setThreadPolicy(policy);
StrictMode.setVmPolicy(vmPolicy);
}
// 在這里執行可能違反 StrictMode 規則的代碼
}
}
在這個示例中,我們首先檢查是否處于調試模式(BuildConfig.DEBUG
)。如果是,我們創建一個 StrictMode.ThreadPolicy
和一個 StrictMode.VmPolicy
,并設置它們的 detectAll()
方法以檢測所有可能的違規行為。我們還設置了 penaltyLog()
方法,以便在發生違規行為時記錄日志。
最后,我們調用 StrictMode.setThreadPolicy()
和 StrictMode.setVmPolicy()
方法來應用這些策略。
請注意,違反 StrictMode 規則可能會導致應用崩潰或顯示警告消息。因此,建議僅在調試模式下啟用 StrictMode,并在發布應用時禁用它。