我的代码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如果您正在进行分析,您将需要跳过任何呼叫。