我的代碼廣泛使用assert
。
斷言不適用於android 5.1.1?
更新至5.1.1(在Nexus 4 & Nexus 5上測試)後,斷言調用被忽略。在開發人員選項下選擇「調試應用程序」沒有區別。
有沒有人解決這個問題? (在我被迫用myAssert(..)
替換所有斷言之前)。
更新:
我已經打開這條評論被關閉的問題:
Debug.Assert的是從來沒有實現過。
看來這個工具沒有太多的需求,打我。
assert
是一個非常強大的工具。
一些優點:
啓用並使用在運行時禁用:
ADB殼setprop Debug.Assert的1(或0)
比較一些
public static myAssert(boolean condition,String message)
- myAssert執行/在任何情況下評估message
,而assert
只有在condition
爲false時才這樣做。所以myAssert(..)
在cpu和內存上很貴,特別是如果你需要有意義的消息,比如Arrays.toString(..)
。如果您正在執行分析,則需要跳過任何myAssert
調用。
我爲此打開了一個案例:https://code.google.com/p/android/issues/detail?id=175697 – auval