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开头的方法指定我们在检测到问题时应该做什么。

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

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

 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()

检测 BroadcastReceiver或 ServiceConnection在 Context拆卸过程中是否泄漏。

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 ()

检测 BroadcastReceiver或 ServiceConnection在 Context拆卸过程中是否泄漏。

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!