From 463f09980fc3aee4874f0099e10504c09eb9e22c Mon Sep 17 00:00:00 2001 From: etkmao Date: Wed, 12 Jun 2024 12:01:02 +0800 Subject: [PATCH] fix(perf): fix OnResourceLoadEnd crash --- .../driver/js/src/main/cpp/src/js_driver_jni.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/framework/android/connector/driver/js/src/main/cpp/src/js_driver_jni.cc b/framework/android/connector/driver/js/src/main/cpp/src/js_driver_jni.cc index 64740e69667..e6b06fca8d3 100644 --- a/framework/android/connector/driver/js/src/main/cpp/src/js_driver_jni.cc +++ b/framework/android/connector/driver/js/src/main/cpp/src/js_driver_jni.cc @@ -170,6 +170,9 @@ std::shared_ptr GetScope(jint j_scope_id) { void OnNativeInitEnd(JNIEnv* j_env, jobject j_object, jint j_scope_id, jlong startTime, jlong endTime) { auto scope = GetScope(j_scope_id); + if (!scope) { + return; + } auto engine = scope->GetEngine().lock(); if (!engine) { return; @@ -191,6 +194,9 @@ void OnNativeInitEnd(JNIEnv* j_env, jobject j_object, jint j_scope_id, jlong sta void OnFirstPaintEnd(JNIEnv* j_env, jobject j_object, jint j_scope_id, jlong time) { auto scope = GetScope(j_scope_id); + if (!scope) { + return; + } auto engine = scope->GetEngine().lock(); if (!engine) { return; @@ -219,6 +225,9 @@ void OnFirstPaintEnd(JNIEnv* j_env, jobject j_object, jint j_scope_id, jlong tim void OnFirstContentfulPaintEnd(JNIEnv* j_env, jobject j_object, jint j_scope_id, jlong time) { auto scope = GetScope(j_scope_id); + if (!scope) { + return; + } auto engine = scope->GetEngine().lock(); if (!engine) { return; @@ -247,6 +256,9 @@ void OnResourceLoadEnd(JNIEnv* j_env, jobject j_object, jint j_scope_id, jstring auto ret_code = static_cast(j_ret_code); auto error_msg = j_error_msg ? JniUtils::ToStrView(j_env, j_error_msg) : string_view(""); auto scope = GetScope(j_scope_id); + if (!scope) { + return; + } auto engine = scope->GetEngine().lock(); if (!engine) { return;