Most visited

Recently visited

Added in API level 9

StrictMode.VmPolicy.Builder

public static final class StrictMode.VmPolicy.Builder
extends Object

java.lang.Object
   ↳ android.os.StrictMode.VmPolicy.Builder


创建StrictMode.VmPolicy实例。 名称以detect开头的方法指定了我们应该查找的问题。 名称以penalty开头的方法指定我们在检测到问题时应该做什么。

你可以尽可能多地调用detectpenalty方法。 目前订单不重要:所有处罚都适用于所有检测到的问题。

例如,检测所有内容并记录发现的内容:

 StrictMode.VmPolicy policy = new StrictMode.VmPolicy.Builder()
     .detectAll()
     .penaltyLog()
     .build();
 StrictMode.setVmPolicy(policy);
 

Summary

Public constructors

StrictMode.VmPolicy.Builder()
StrictMode.VmPolicy.Builder(StrictMode.VmPolicy base)

建立在现有的VmPolicy之上。

Public methods

StrictMode.VmPolicy build()

构建VmPolicy实例。

StrictMode.VmPolicy.Builder detectActivityLeaks()

检测 Activity子类的泄漏。

StrictMode.VmPolicy.Builder detectAll()

检测可能怀疑的一切。

StrictMode.VmPolicy.Builder detectCleartextNetwork()

检测来自未包装在SSL / TLS中的调用应用程序的任何网络通信。

StrictMode.VmPolicy.Builder detectFileUriExposure()

检测此应用程序何时将 file:// Uri暴露给其他应用程序。

StrictMode.VmPolicy.Builder detectLeakedClosableObjects()

检测具有 Closeable终止方法的 Closeable或其他对象何时 Closeable关闭而终结。

StrictMode.VmPolicy.Builder detectLeakedRegistrationObjects()

检测 BroadcastReceiverServiceConnectionContext拆卸过程中是否泄漏。

StrictMode.VmPolicy.Builder detectLeakedSqlLiteObjects()

检测何时 SQLiteCursor或其他SQLite对象未被关闭而终结。

StrictMode.VmPolicy.Builder penaltyDeath()

崩溃整个过程违规。

StrictMode.VmPolicy.Builder penaltyDeathOnCleartextNetwork()

检测到明文网络通信时崩溃整个过程。

StrictMode.VmPolicy.Builder penaltyDeathOnFileUriExposure()

file:// Uri暴露在此应用程序之外时,崩溃整个过程。

StrictMode.VmPolicy.Builder penaltyDropBox()

在违反策略时启用检测到的违规操作将 DropBox和计时数据记录到 DropBox

StrictMode.VmPolicy.Builder penaltyLog()

将检测到的违规记录到系统日志。

StrictMode.VmPolicy.Builder setClassInstanceLimit(Class klass, int instanceLimit)

一次设置一个类的多少个实例可以在内存中的上限。

Inherited methods

From class java.lang.Object

Public constructors

StrictMode.VmPolicy.Builder

Added in API level 9
StrictMode.VmPolicy.Builder ()

StrictMode.VmPolicy.Builder

Added in API level 11
StrictMode.VmPolicy.Builder (StrictMode.VmPolicy base)

建立在现有的VmPolicy之上。

Parameters
base StrictMode.VmPolicy

Public methods

build

Added in API level 9
StrictMode.VmPolicy build ()

构建VmPolicy实例。

注意:如果在拨打 build之前没有启用 build ,则隐式设置 penaltyLog()

Returns
StrictMode.VmPolicy

detectActivityLeaks

Added in API level 11
StrictMode.VmPolicy.Builder detectActivityLeaks ()

检测 Activity子类的泄漏。

Returns
StrictMode.VmPolicy.Builder

detectAll

Added in API level 9
StrictMode.VmPolicy.Builder detectAll ()

检测可能怀疑的一切。

在Honeycomb版本中,这包括SQLite游标,活动和其他可关闭对象的泄漏,但可能会在未来版本中扩展。

Returns
StrictMode.VmPolicy.Builder

detectCleartextNetwork

Added in API level 23
StrictMode.VmPolicy.Builder detectCleartextNetwork ()

检测来自未包装在SSL / TLS中的调用应用程序的任何网络通信。 这可以帮助您检测应用程序无意中通过网络发送明文数据的位置。

使用 penaltyDeath()penaltyDeathOnCleartextNetwork()将阻止该套接字上的进一步流量,以防止意外数据泄露,同时还会导致进程崩溃。

使用 penaltyDropBox()将记录触发违规的数据包的原始内容。

这会检查IPv4 / IPv6和TCP / UDP网络流量,但可能会受到误报,例如使用STARTTLS协议或HTTP代理时。

Returns
StrictMode.VmPolicy.Builder

detectFileUriExposure

Added in API level 18
StrictMode.VmPolicy.Builder detectFileUriExposure ()

检测此应用程序何时将 file:// Uri给其他应用程序。

由于接收应用程序可能无法访问共享路径,因此不鼓励此曝光。 例如,接收应用程序可能未请求READ_EXTERNAL_STORAGE运行时权限,或者平台可能跨用户配置文件边界共享Uri

相反,应用程序应该使用 content://以便平台可以为接收应用程序扩展临时权限以访问资源。

Returns
StrictMode.VmPolicy.Builder

也可以看看:

detectLeakedClosableObjects

Added in API level 11
StrictMode.VmPolicy.Builder detectLeakedClosableObjects ()

检测具有 Closeable终止方法的 Closeable或其他对象是否在未关闭的情况下完成。

您总是希望显式关闭这些对象以避免不必要的资源泄漏。

Returns
StrictMode.VmPolicy.Builder

detectLeakedRegistrationObjects

Added in API level 16
StrictMode.VmPolicy.Builder detectLeakedRegistrationObjects ()

检测 BroadcastReceiverServiceConnectionContext拆卸过程中是否泄漏。

Returns
StrictMode.VmPolicy.Builder

detectLeakedSqlLiteObjects

Added in API level 9
StrictMode.VmPolicy.Builder detectLeakedSqlLiteObjects ()

检测 SQLiteCursor或其他SQLite对象在未关闭时是否已完成。

您总是希望显式关闭SQLite游标以避免不必要的数据库争用和临时内存泄漏。

Returns
StrictMode.VmPolicy.Builder

penaltyDeath

Added in API level 9
StrictMode.VmPolicy.Builder penaltyDeath ()

崩溃整个过程违规。 这个惩罚运行在所有启用惩罚的最后,所以在进程死亡之前,您仍然会得到日志或其他违规。

Returns
StrictMode.VmPolicy.Builder

penaltyDeathOnCleartextNetwork

Added in API level 23
StrictMode.VmPolicy.Builder penaltyDeathOnCleartextNetwork ()

检测到明文网络通信时崩溃整个过程。

Returns
StrictMode.VmPolicy.Builder

也可以看看:

penaltyDeathOnFileUriExposure

Added in API level 24
StrictMode.VmPolicy.Builder penaltyDeathOnFileUriExposure ()

file:// Uri暴露在此应用程序之外时,崩溃整个过程。

Returns
StrictMode.VmPolicy.Builder

也可以看看:

penaltyDropBox

Added in API level 9
StrictMode.VmPolicy.Builder penaltyDropBox ()

在违反策略时启用检测到的违规操作将DropBox和计时数据记录到DropBox 主要用于进行beta用户现场数据收集的平台集成商。

Returns
StrictMode.VmPolicy.Builder

penaltyLog

Added in API level 9
StrictMode.VmPolicy.Builder penaltyLog ()

将检测到的违规记录到系统日志。

Returns
StrictMode.VmPolicy.Builder

setClassInstanceLimit

Added in API level 11
StrictMode.VmPolicy.Builder setClassInstanceLimit (Class klass, 
                int instanceLimit)

一次设置一个类的多少个实例可以在内存中的上限。 有助于防止物体泄漏。

Parameters
klass Class
instanceLimit int
Returns
StrictMode.VmPolicy.Builder

Hooray!