断言在 android 5.1.1 上不起作用?
assert not working on android 5.1.1?
我的代码广泛使用 assert
调用。
更新到 5.1.1 后(在 Nexus 4 和 Nexus 5 上测试),断言调用将被忽略。在开发人员选项下选择 "debug app" 没有任何区别。
有人解决过这个问题吗? (在我被迫用一些 myAssert(..)
替换所有断言之前)。
更新:
我打开的问题已通过以下评论关闭:
debug.assert was never implemented.
看来对这个工具的需求不多,打败我。
assert
是一个极其强大的工具。
一些优点:
在运行时启用和禁用使用:
adb shell setprop debug.assert 1(或 0)
与一些 public static myAssert(boolean condition,String message)
相比 - myAssert executes/evaluates 在任何情况下 message
,而 assert
仅当 condition
是假的。所以 myAssert(..)
在 cpu 和内存中是昂贵的,特别是如果你需要像 Arrays.toString(..)
这样有意义的消息。如果您正在进行分析,则需要跳过任何 myAssert
调用。
Google 说 assert
从未得到官方支持,现在甚至都不存在了。
安息吧。
我的代码广泛使用 assert
调用。
更新到 5.1.1 后(在 Nexus 4 和 Nexus 5 上测试),断言调用将被忽略。在开发人员选项下选择 "debug app" 没有任何区别。
有人解决过这个问题吗? (在我被迫用一些 myAssert(..)
替换所有断言之前)。
更新:
我打开的问题已通过以下评论关闭:
debug.assert was never implemented.
看来对这个工具的需求不多,打败我。
assert
是一个极其强大的工具。
一些优点:
在运行时启用和禁用使用:
adb shell setprop debug.assert 1(或 0)
与一些
public static myAssert(boolean condition,String message)
相比 - myAssert executes/evaluates 在任何情况下message
,而assert
仅当condition
是假的。所以myAssert(..)
在 cpu 和内存中是昂贵的,特别是如果你需要像Arrays.toString(..)
这样有意义的消息。如果您正在进行分析,则需要跳过任何myAssert
调用。
Google 说 assert
从未得到官方支持,现在甚至都不存在了。
安息吧。