我的代码assert
广泛使用调用。
更新到 5.1.1(在 Nexus 4 和 Nexus 5 上测试)后,断言调用被忽略。在开发人员选项下选择“调试应用程序”没有任何区别。
有没有人解决这个问题?(在我被迫用 some 替换所有断言之前myAssert(..)
)。
更新:
我打开的问题已用此评论关闭:
debug.assert 从未实现。
看来对这个工具的需求并不多,打败了我。
assert
是一个非常强大的工具。
一些优点:
在运行时启用和禁用:
adb shell setprop debug.assert 1(或 0)
与一些相比
public static myAssert(boolean condition,String message)
- myAssertmessage
在任何情况下都会执行/评估 ,而assert
只有当condition
为假时才会这样做。因此myAssert(..)
CPU 和内存的开销很大,特别是如果您需要有意义的消息,例如Arrays.toString(..)
.myAssert
如果您正在进行分析,您将需要跳过任何呼叫。