我知道如何使用该View.isInEditMode
方法。
我不完全明白什么时候应该使用它。也就是说,我应该防止在 EditMode 中运行什么。
在一些明显的情况下,自定义视图会执行各种疯狂的操作,例如数据库访问、网络、线程等。很明显,您应该在 EditMode 中避免使用它们。
我创建了几个不执行上述任何操作的自定义视图。它们只使用常规的绘图 API,或加载资源,例如可绘制对象。
在设备上运行时,它们看起来完全符合预期,但在布局设计器内部,它们要么看起来不像应有的那样,要么由于一些神秘的异常(通常NullPointerException
)而无法渲染。
那么,EditMode 对这些 API 有什么限制吗?