即使应用此处描述的解决方法后也会出现以下错误:是否有解决方法/修复这些Google Maps v2 StackOverflowError崩溃?
Fatal Exception: java.lang.StackOverflowError: stack size 1036KB
at java.util.HashMap.remove(HashMap.java:616)
at com.google.maps.api.android.lib6.gmm6.util.e.d(:com.google.android.gms.dynamite_dynamitemodulesb@12685013@12.6.85 (020700-197041431):29)
at com.google.maps.api.android.lib6.gmm6.util.e.a(:com.google.android.gms.dynamite_dynamitemodulesb@12685013@12.6.85 (020700-197041431):37)
at com.google.maps.api.android.lib6.gmm6.util.e.b(:com.google.android.gms.dynamite_dynamitemodulesb@12685013@12.6.85 (020700-197041431):9)
at com.google.maps.api.android.lib6.gmm6.indoor.o.c(:com.google.android.gms.dynamite_dynamitemodulesb@12685013@12.6.85 (020700-197041431):193)
at com.google.maps.api.android.lib6.gmm6.indoor.o.a(:com.google.android.gms.dynamite_dynamitemodulesb@12685013@12.6.85 (020700-197041431):100)
at com.google.maps.api.android.lib6.gmm6.indoor.o.a(:com.google.android.gms.dynamite_dynamitemodulesb@12685013@12.6.85 (020700-197041431):88)
at com.google.maps.api.android.lib6.gmm6.indoor.o.c(:com.google.android.gms.dynamite_dynamitemodulesb@12685013@12.6.85 (020700-197041431):164)
at com.google.maps.api.android.lib6.gmm6.indoor.o.e(:com.google.android.gms.dynamite_dynamitemodulesb@12685013@12.6.85 (020700-197041431):292)
at com.google.maps.api.android.lib6.gmm6.indoor.o.b(:com.google.android.gms.dynamite_dynamitemodulesb@12685013@12.6.85 (020700-197041431):200)
at com.google.maps.api.android.lib6.gmm6.indoor.o.c(:com.google.android.gms.dynamite_dynamitemodulesb@12685013@12.6.85 (020700-197041431):198)
at com.google.maps.api.android.lib6.gmm6.indoor.o.a(:com.google.android.gms.dynamite_dynamitemodulesb@12685013@12.6.85 (020700-197041431):100)
at com.google.maps.api.android.lib6.gmm6.indoor.o.a(:com.google.android.gms.dynamite_dynamitemodulesb@12685013@12.6.85 (020700-197041431):88)
at com.google.maps.api.android.lib6.gmm6.indoor.o.c(:com.google.android.gms.dynamite_dynamitemodulesb@12685013@12.6.85 (020700-197041431):164)
at com.google.maps.api.android.lib6.gmm6.indoor.o.e(:com.google.android.gms.dynamite_dynamitemodulesb@12685013@12.6.85 (020700-197041431):292)
at com.google.maps.api.android.lib6.gmm6.indoor.o.b(:com.google.android.gms.dynamite_dynamitemodulesb@12685013@12.6.85 (020700-197041431):200)
at com.google.maps.api.android.lib6.gmm6.indoor.o.c(:com.google.android.gms.dynamite_dynamitemodulesb@12685013@12.6.85 (020700-197041431):198)
at com.google.maps.api.android.lib6.gmm6.indoor.o.a(:com.google.android.gms.dynamite_dynamitemodulesb@12685013@12.6.85 (020700-197041431):100)
at com.google.maps.api.android.lib6.gmm6.indoor.o.a(:com.google.android.gms.dynamite_dynamitemodulesb@12685013@12.6.85 (020700-197041431):88)
at com.google.maps.api.android.lib6.gmm6.indoor.o.c(:com.google.android.gms.dynamite_dynamitemodulesb@12685013@12.6.85 (020700-197041431):164)
at com.google.maps.api.android.lib6.gmm6.indoor.o.e(:com.google.android.gms.dynamite_dynamitemodulesb@12685013@12.6.85 (020700-197041431):292)
at com.google.maps.api.android.lib6.gmm6.indoor.o.b(:com.google.android.gms.dynamite_dynamitemodulesb@12685013@12.6.85 (020700-197041431):200)
at com.google.maps.api.android.lib6.gmm6.indoor.o.c(:com.google.android.gms.dynamite_dynamitemodulesb@12685013@12.6.85 (020700-197041431):198)
at …Run Code Online (Sandbox Code Playgroud) 我有一个案例,其中Java to Kotlin转换器因为没有将方法参数标记为可空而使我失败.
示例:跟踪活动生命周期使用registerActivityLifecycleCallbacks:
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {}
@Override
public void onActivityStarted(Activity activity) {}
@Override
public void onActivityResumed(Activity activity) {}
// ... other overriden methods
});
Run Code Online (Sandbox Code Playgroud)
将此代码粘贴到Kotlin结果:
registerActivityLifecycleCallbacks(object : Application.ActivityLifecycleCallbacks {
override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle) {}
override fun onActivityStarted(activity: Activity) {}
override fun onActivityResumed(activity: Activity) {}
override fun onActivityPaused(activity: Activity) {}
// ... other overriden methods (all with non-nullable parameters)
})
Run Code Online (Sandbox Code Playgroud)
问题是savedInstanceState参数类型Bundle应该是Bundle?它的位置,因为它的值可以是null …
java android kotlin kotlin-android-extensions kotlin-null-safety