android - 什么是"BuildConfig.DEBUG conditional checks"?

  显示原文与译文双语对照的内容
0 0

Android Lint抱怨 assert()正在使用,建议使用 BuildConfig .DEBUG条件检查代替。

我完全理解为什么assert不安全上使用android,但是 的精彩" buildconfig .DEBUG条件检查"?

怎么下面的示例代码进行修改?

Context ctx = getContext();
assert (ctx instanceof FragmentActivity);
fragment_manager = ((FragmentActivity) ctx).getSupportFragmentManager();
时间:原作者:1个回答

0 0

我想什么lint的想说的是,添加选中BuildConfig .DEBUG的assert语句

if( BuildConfig .DEBUG )

assert ( ctx instanceof FragmentActivity ) ;

,因此assert可以只有在测试应用程序,但是在release版本assert不会被调用

buildConfig .DEBUG将为false时导出发布版本。

编辑: 我看你们应该类似下面而不是使用assert

 if(BuildConfig.DEBUG && !(ctx instanceof FragmentActivity))
      throw new RuntimeException();

而不是assert 。

来源: http://tools .android .com/recent/androidstudio045released

一些新的lint检查,尤其是一个标志使用的断言关键字。 这并不可靠工作的设备上,那么你应该使用BuildConfig .DEBUG来做条件检测代替。

原作者:
...