public static final class StrictMode.VmPolicy.Builder
extends Object
| java.lang.Object | |
| android.os.StrictMode.VmPolicy.Builder | |
创建StrictMode.VmPolicy实例。 名称以detect开头的方法指定了我们应该查找的问题。 名称以penalty开头的方法指定我们在检测到问题时应该做什么。
你可以尽可能多地调用detect和penalty方法。 目前订单不重要:所有处罚都适用于所有检测到的问题。
例如,检测所有内容并记录发现的内容:
StrictMode.VmPolicy policy = new StrictMode.VmPolicy.Builder()
.detectAll()
.penaltyLog()
.build();
StrictMode.setVmPolicy(policy);
Public constructors |
|
|---|---|
StrictMode.VmPolicy.Builder() |
|
StrictMode.VmPolicy.Builder(StrictMode.VmPolicy base) 建立在现有的VmPolicy之上。 |
|
继承方法(Inherited methods) |
|
|---|---|
java.lang.Object
|
|
StrictMode.VmPolicy.Builder (StrictMode.VmPolicy base)
建立在现有的VmPolicy之上。
| 参数(Parameters) | |
|---|---|
base |
StrictMode.VmPolicy
|
StrictMode.VmPolicy build ()
构建VmPolicy实例。
注意:如果在拨打 build之前没有启用 build ,则隐式设置 penaltyLog() 。
| 返回(Returns) | |
|---|---|
StrictMode.VmPolicy |
|
StrictMode.VmPolicy.Builder detectActivityLeaks ()
检测 Activity子类的泄漏。
| 返回(Returns) | |
|---|---|
StrictMode.VmPolicy.Builder |
|
StrictMode.VmPolicy.Builder detectAll ()
检测可能怀疑的一切。
在Honeycomb版本中,这包括SQLite游标,活动和其他可关闭对象的泄漏,但可能会在未来版本中扩展。
| 返回(Returns) | |
|---|---|
StrictMode.VmPolicy.Builder |
|
StrictMode.VmPolicy.Builder detectCleartextNetwork ()
检测来自未包装在SSL / TLS中的调用应用程序的任何网络通信。 这可以帮助您检测应用程序无意中通过网络发送明文数据的位置。
使用 penaltyDeath()或 penaltyDeathOnCleartextNetwork()将阻止该套接字上的进一步流量,以防止意外数据泄露,同时还会导致进程崩溃。
使用 penaltyDropBox()将记录触发违规的数据包的原始内容。
这会检查IPv4 / IPv6和TCP / UDP网络流量,但可能会受到误报,例如使用STARTTLS协议或HTTP代理时。
| 返回(Returns) | |
|---|---|
StrictMode.VmPolicy.Builder |
|
StrictMode.VmPolicy.Builder detectFileUriExposure ()
检测此应用程序何时将 file:// Uri给其他应用程序。
由于接收应用程序可能无法访问共享路径,因此不鼓励此曝光。 例如,接收应用程序可能未请求READ_EXTERNAL_STORAGE运行时权限,或者平台可能跨用户配置文件边界共享Uri 。
相反,应用程序应该使用 content://以便平台可以为接收应用程序扩展临时权限以访问资源。
| 返回(Returns) | |
|---|---|
StrictMode.VmPolicy.Builder |
|
StrictMode.VmPolicy.Builder detectLeakedClosableObjects ()
检测具有 Closeable终止方法的 Closeable或其他对象是否在未关闭的情况下完成。
您总是希望显式关闭这些对象以避免不必要的资源泄漏。
| 返回(Returns) | |
|---|---|
StrictMode.VmPolicy.Builder |
|
StrictMode.VmPolicy.Builder detectLeakedRegistrationObjects ()
检测 BroadcastReceiver或 ServiceConnection在 Context拆卸过程中是否泄漏。
| 返回(Returns) | |
|---|---|
StrictMode.VmPolicy.Builder |
|
StrictMode.VmPolicy.Builder detectLeakedSqlLiteObjects ()
检测 SQLiteCursor或其他SQLite对象在未关闭时是否已完成。
您总是希望显式关闭SQLite游标以避免不必要的数据库争用和临时内存泄漏。
| 返回(Returns) | |
|---|---|
StrictMode.VmPolicy.Builder |
|
StrictMode.VmPolicy.Builder penaltyDeath ()
崩溃整个过程违规。 这个惩罚运行在所有启用惩罚的最后,所以在进程死亡之前,您仍然会得到日志或其他违规。
| 返回(Returns) | |
|---|---|
StrictMode.VmPolicy.Builder |
|
StrictMode.VmPolicy.Builder penaltyDeathOnCleartextNetwork ()
检测到明文网络通信时崩溃整个过程。
| 返回(Returns) | |
|---|---|
StrictMode.VmPolicy.Builder |
|
也可以看看:
StrictMode.VmPolicy.Builder penaltyDeathOnFileUriExposure ()
当 file:// Uri暴露在此应用程序之外时,崩溃整个过程。
| 返回(Returns) | |
|---|---|
StrictMode.VmPolicy.Builder |
|
也可以看看:
StrictMode.VmPolicy.Builder penaltyDropBox ()
在违反策略时启用检测到的违规操作将DropBox和计时数据记录到DropBox 。 主要用于进行beta用户现场数据收集的平台集成商。
| 返回(Returns) | |
|---|---|
StrictMode.VmPolicy.Builder |
|
StrictMode.VmPolicy.Builder penaltyLog ()
将检测到的违规记录到系统日志。
| 返回(Returns) | |
|---|---|
StrictMode.VmPolicy.Builder |
|
StrictMode.VmPolicy.Builder setClassInstanceLimit (Class klass, int instanceLimit)
一次设置一个类的多少个实例可以在内存中的上限。 有助于防止物体泄漏。
| 参数(Parameters) | |
|---|---|
klass |
Class
|
instanceLimit |
int
|
| 返回(Returns) | |
|---|---|
StrictMode.VmPolicy.Builder |
|