Android:onCreate()被多次调用(而不是由我)

Android:onCreate()被多次调用(而不是由我),第1张

概述有一些我现在不太明白的东西. 我的主要活动类创建一个服务,它创建一个等待TCP连接的新线程.一旦进来,它将开始一个新的活动: Intent dialogIntent = new Intent(getBaseContext(), VoIPCall.class);dialogIntent.putExtra("inetAddress", clientSocket.getInetAddress()); 有一些我现在不太明白的东西.

我的主要活动类创建一个服务,它创建一个等待TCP连接的新线程.一旦进来,它将开始一个新的活动:

Intent dialogIntent = new Intent(getBaseContext(),VoIPCall.class);dialogIntent.putExtra("inetAddress",clIEntSocket.getInetAddress());dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);getApplication().startActivity(dialogIntent);

之后,该类的onCreate()方法就会运行.它将创建2个线程:一个记录并发送数据,另一个接收和播放数据.那些线程有一个永远的while循环.

由于某些原因,我注意到最后一个类的onCreate()再次被调用,这使我的程序崩溃.我不明白为什么它再次被呼叫,因为只有2个线程正在运行,没有用户交互.文档说:“首次创建活动时调用”.该活动已经在运行,我没有尝试创建它.

有人可以解释一下这个行为吗?

解决方法 某些“设备配置更改”后,AndroID将重新创建您的活动.一个这样的例子是定向.你可以在这里阅读更多…
http://developer.android.com/guide/topics/resources/runtime-changes.html

你的线程中的某些东西可能正在做一些被认为是配置更改的东西?

如果是这样,你可能会发现扩展Application类是有用的,并在那里进行初始化.看到这篇文章…
Activity restart on rotation Android

HTH

总结

以上是内存溢出为你收集整理的Android:onCreate()被多次调用(而不是由我)全部内容,希望文章能够帮你解决Android:onCreate()被多次调用(而不是由我)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1132026.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存