这是一个创建于 1920 天前的主题,其中的信息可能已经有所发展或是发生改变。
我们现在的客户端是纯 kotlin 写的,在目标 activity 中的伴生对象里面会声明启动参数。因为有一些参数是必须的,所以会将其声明为 lateinit,然而 monkeytest 是不带任何参数直接启动 activity 的,这样就导致里面的必要参数从始至终没有初始化,进而产生崩溃问题。但是这种情况在实际使用中几乎是没有发生的可能的,因为 kotlin 的空安全特性,编译时就已经把这部分问题挡在外面了……如果把那些 lateinit 的变量改成单纯的 var 并给一个初始值可以解决问题,但是我又觉得这不符合规范……所以各位大佬们怎么去解决这种问题呢?
3 条回复 • 2019-07-02 22:47:14 +08:00
|
|
1
BigDogWang 2019-07-02 10:52:10 +08:00
不能崩溃呀,你获取参数的时候给个默认值啊
|
|
|
2
gz911122 2019-07-02 13:15:19 +08:00
monkeytest 是不带任何参数直接启动 activity 的
禁止这个
|
|
|
3
vanillaxxx 2019-07-02 22:47:14 +08:00 via iPhone
这个不是我控制啊……应用市场上架前跑所谓的自动化测试……我控制不了
|