【问题标题】:My application launchs twice on Honeycomb我的应用程序在 Honeycomb 上启动了两次
【发布时间】:2011-05-26 09:32:57
【问题描述】:

当我在 Honeycomb 上执行我的应用程序时,它会启动两次.. 我在启动器 Activity 的 onCreate() 方法中放置了一个断点,虽然只有一个正在运行的进程,但调试器在断点处停止了两次,并且我的平板电脑上运行了两个可见的应用程序,一个在另一个后面。

有人在 Honeycomb 中遇到过类似的事情吗?有什么见解吗?

这是日志,请注意对 LoadingActivity.OnCreate() 的两次调用。

 
05-25 15:59:08.900: INFO/System.out(28656): Sending WAIT chunk
05-25 15:59:08.900: WARN/ActivityThread(28656): Application net.XXXX.android is waiting for the debugger on port 8100...
05-25 15:59:09.080: INFO/dalvikvm(28656): Debugger is active
05-25 15:59:09.100: INFO/System.out(28656): Debugger has connected
05-25 15:59:09.100: INFO/System.out(28656): waiting for debugger to settle...
                                    ...
05-25 15:59:10.700: INFO/System.out(28656): waiting for debugger to settle...
05-25 15:59:10.900: INFO/System.out(28656): debugger has settled (1454)
05-25 15:59:11.570: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)

// ------------------------------------------------------------------------------------------------------
// First call to my launcher Activity
--->> 05-25 15:59:18.040: VERBOSE/SplashActivity(28656): LoadActivity.onCreate()
                                    ...
05-25 15:59:18.110: DEBUG/dalvikvm(28656): GC_FOR_ALLOC freed 100K, 4% free 6393K/6599K, paused 15ms                                    
05-25 15:59:18.180: DEBUG/szipinf(28656): Initializing inflate state
05-25 15:59:18.190: DEBUG/szipinf(28656): Initializing zlib to inflate
05-25 15:59:18.330: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 15:59:18.360: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 15:59:18.360: DEBUG/dalvikvm(28656): GC_CONCURRENT freed 63K, 4% free 6770K/6983K, paused 1ms+1ms
05-25 15:59:18.940: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 15:59:18.960: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 15:59:18.960: DEBUG/dalvikvm(28656): GC_CONCURRENT freed 278K, 6% free 6943K/7367K, paused 1ms+2ms
05-25 15:59:19.500: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 15:59:19.510: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 15:59:19.510: DEBUG/dalvikvm(28656): GC_CONCURRENT freed 327K, 7% free 7021K/7495K, paused 2ms+2ms
05-25 15:59:20.090: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 15:59:20.130: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 15:59:20.130: DEBUG/dalvikvm(28656): GC_CONCURRENT freed 350K, 7% free 7128K/7623K, paused 1ms+2ms
05-25 15:59:20.640: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 15:59:20.680: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 15:59:20.680: DEBUG/dalvikvm(28656): GC_CONCURRENT freed 339K, 7% free 7200K/7687K, paused 1ms+2ms
05-25 15:59:21.180: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 15:59:21.190: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 15:59:21.200: DEBUG/dalvikvm(28656): GC_CONCURRENT freed 324K, 7% free 7281K/7751K, paused 2ms+2ms
05-25 15:59:21.810: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 15:59:21.850: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 15:59:21.850: DEBUG/dalvikvm(28656): GC_CONCURRENT freed 341K, 7% free 7394K/7879K, paused 1ms+2ms
05-25 15:59:22.380: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 15:59:22.410: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 15:59:22.410: DEBUG/dalvikvm(28656): GC_CONCURRENT freed 343K, 7% free 7456K/7943K, paused 1ms+2ms
05-25 15:59:22.880: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 15:59:22.900: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 15:59:22.900: DEBUG/dalvikvm(28656): GC_CONCURRENT freed 325K, 6% free 7541K/8007K, paused 1ms+2ms
                                    ...
05-25 15:59:23.620: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
                                    ...
05-25 15:59:23.640: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 15:59:23.640: DEBUG/dalvikvm(28656): GC_CONCURRENT freed 350K, 7% free 7628K/8135K, paused 1ms+2ms

// ------------------------------------------------------------------------------------------------------
// Second call to my launcher Activity
--->> 05-25 16:01:56.620: VERBOSE/SplashActivity(28656): LoadActivity.onCreate()
                                    ...
05-25 16:04:33.260: DEBUG/szipinf(28656): Initializing inflate state
05-25 16:04:33.260: DEBUG/szipinf(28656): Initializing zlib to inflate
05-25 16:04:33.750: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 16:04:33.780: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 16:04:33.780: DEBUG/dalvikvm(28656): GC_CONCURRENT freed 382K, 7% free 7674K/8199K, paused 1ms+2ms
05-25 16:04:34.360: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 16:04:34.390: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 16:04:34.390: DEBUG/dalvikvm(28656): GC_CONCURRENT freed 429K, 7% free 7691K/8263K, paused 2ms+2ms
05-25 16:04:34.960: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 16:04:34.970: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 16:04:34.980: DEBUG/dalvikvm(28656): GC_CONCURRENT freed 434K, 7% free 7686K/8263K, paused 1ms+2ms
05-25 16:04:35.520: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 16:04:35.550: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 16:04:35.550: DEBUG/dalvikvm(28656): GC_CONCURRENT freed 434K, 7% free 7687K/8263K, paused 1ms+2ms
05-25 16:04:36.100: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 16:04:36.120: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 16:04:36.120: DEBUG/dalvikvm(28656): GC_CONCURRENT freed 433K, 7% free 7686K/8263K, paused 2ms+2ms
05-25 16:04:36.720: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 16:04:36.760: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 16:04:36.760: DEBUG/dalvikvm(28656): GC_CONCURRENT freed 426K, 7% free 7693K/8263K, paused 1ms+2ms
05-25 16:04:37.330: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 16:04:37.350: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 16:04:37.350: DEBUG/dalvikvm(28656): GC_CONCURRENT freed 437K, 7% free 7686K/8263K, paused 1ms+2ms
05-25 16:04:37.880: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 16:04:37.910: DEBUG/dalvikvm(28656): threadid=1: still suspended after undo (sc=1 dc=1)
05-25 16:04:37.910: DEBUG/dalvikvm(28656): GC_CONCURRENT freed 434K, 7% free 7689K/8263K, paused 1ms+3ms

【问题讨论】:

    标签: android android-3.0-honeycomb launch dalvik


    【解决方案1】:

    您的应用是否仅限于纵向并且您在平板电脑上运行它(默认为横向),如果是,这就是原因。

    【讨论】:

    • (我虽然:“说真的?”)但你是 100% 正确的,现在它已经解决了......但是为什么呢?为什么会有这种行为?为什么它在这种情况下推出了两次?非常感谢。
    • 这也解决了我的问题:Activity A 通过 Intent 启动了 Activity B。如果 Activity B 关闭,Activity A 会调用“onCreate”,虽然它之前还没有完成……我更改了默认屏幕配置,问题解决了……谢谢!!
    【解决方案2】:

    我正在开发带有键盘底座的 Asus Eee Pad Transformer。我注意到,当您在添加了 OnEditorActionListener() 的表单上按 Enter 时,它会被调用两次!

        etPassWord.setOnEditorActionListener(new OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                if (!clickedIme) {
                    clickLogIn();
                    clickedIme = true;
                }
                return true;
            }
        });
    

    所以我添加了clickedIme 布尔标志来抑制第二个clickLogIn() 调用。请注意,当 clickedIme 失败时,您必须将其重置为 false,因此您不会再按 Enter 键。

    【讨论】:

      猜你喜欢
      • 2018-01-05
      • 2013-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多