应用闪退

    xiaoxiao2021-03-26  110

     

     

     

     

    01-10 16:15:02.883 I/ActivityManager( 3402): START u0 {dat=content://mms-sms/conversations/13 cmp=com.android.mms/.ui.ComposeMessageActivity} from uid 10025 on display 0

     

    01-10 16:15:03.305 I/ActivityManager( 3402): Displayed com.android.mms/.ui.ComposeMessageActivity: +395ms 01-10 16:15:03.385 D/OpenGLRenderer( 8158): endAllActiveAnimators on 0x9ba5ca00 (ListView) with handle 0x9b2dcf40 01-10 16:15:03.676 D/ActivityTrigger( 3402): ActivityTrigger activityStopTrigger

     

    01-10 16:15:03.983 I/WindowManager( 3402): Destroying surface Surface(name=com.android.mms/com.android.mms.ui.ConversationList) called by com.android.server.wm.WindowStateAnimator.destroySurface:2014 com.android.server.wm.WindowStateAnimator.destroySurfaceLocked:881 com.android.server.wm.WindowState.destroyOrSaveSurface:2073 com.android.server.wm.WindowManagerService.tryStartExitingAnimation:3022 com.android.server.wm.WindowManagerService.relayoutWindow:2902 com.android.server.wm.Session.relayout:215 android.view.IWindowSession$Stub.onTransact:286 com.android.server.wm.Session.onTransact:136

     

    01-10 16:15:04.056 D/ActivityTrigger( 3402): ActivityTrigger activityPauseTrigger

     

     

    android/frameworks/base/services/core/java/com/android/server/wm/WindowSurfaceController.java:157:        Slog.i(TAG, "Destroying surface " + this + " called by " + Debug.getCallers(8));

     

    Destroying surface Surface(name=com.android.mms/com.android.mms.ui.ConversationList)

    called by com.android.server.wm.WindowStateAnimator.destroySurface:2014 com.android.server.wm.WindowStateAnimator.destroySurfaceLocked:881 com.android.server.wm.WindowState.destroyOrSaveSurface:2073 com.android.server.wm.WindowManagerService.tryStartExitingAnimation:3022 com.android.server.wm.WindowManagerService.relayoutWindow:2902 com.android.server.wm.Session.relayout:215 android.view.IWindowSession$Stub.onTransact:286

    com.android.server.wm.Session.onTransact:136

     

     

    ActivityStack.java

    void clearLaunchTime(ActivityRecord r) {         // Make sure that there is no activity waiting for this to launch.         if (mStackSupervisor.mWaitingActivityLaunched.isEmpty()) {             r.displayStartTime = r.fullyDrawnStartTime = 0;         } else {             mStackSupervisor.removeTimeoutsForActivityLocked(r);             mStackSupervisor.scheduleIdleTimeoutLocked(r);         }     }

    private void completeResumeLocked(ActivityRecord next) {

             // schedule an idle timeout in case the app doesn't do it for us.         mStackSupervisor.scheduleIdleTimeoutLocked(next);

    }

     

    frameworks/base/services/core/java/com/android/server/am/

    ActivityStackSupervisor.java

    case IDLE_TIMEOUT_MSG: {}

    case IDLE_NOW_MSG: {}

    activityIdleInternal()

     

    final ActivityRecord activityIdleInternalLocked(final IBinder token, boolean fromTimeout,             Configuration config) {

     stack.stopActivityLocked(r);

    }

     

    ActivityStack.java

    final void stopActivityLocked(ActivityRecord r) {

      mActivityTrigger.activityStopTrigger(r.intent, r.info, r.appInfo);

      EventLogTags.writeAmStopActivity(                         r.userId, System.identityHashCode(r), r.shortComponentName);                 r.app.thread.scheduleStopActivity(r.appToken, r.visible, r.configChangeFlags);

    }

     

    out/target/common/obj/JAVA_LIBRARIES/services.core_intermediates/src/java/com/android/server/am/EventLogTags.java

     

    ActivityTrigger.java

    public void activityStopTrigger(Intent intent, ActivityInfo acInfo, ApplicationInfo appInfo) {         ComponentName cn = intent.getComponent();         String activity = null;         Log.d(TAG, "ActivityTrigger activityStopTrigger ");         if (null != cn && null != appInfo)             activity = cn.flattenToString() + "/" + appInfo.versionCode;         native_at_stopActivity(activity);     }

     

    com_android_internal_app_ActivityTrigger.cpp

    static void com_android_internal_app_ActivityTrigger_native_at_stopActivity(JNIEnv *env, jobject clazz, jstring activity) {     for(size_t i = 0; i < gTotalNumLibs; i++){         if(mDlLibHandlers[i].stopActivity && activity) {             const char *actStr = env->GetStringUTFChars(activity, NULL);             if (NULL != actStr) {                 (*mDlLibHandlers[i].stopActivity)(actStr);                 env->ReleaseStringUTFChars(activity, actStr);             }         }     } }

     

     

    Android 中如何计算 App 的启动时间?

     

    http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2016/0105/3830.html

    ActivityRecord.java

    reportLaunchTimeLocked()

    转载请注明原文地址: https://ju.6miu.com/read-662927.html

    最新回复(0)