我基本上是在开始一个包含webview的新活动。但是这个webview活动的生命周期在第一次运行时调用了两次。当破坏此活动并重新打开时,一切正常。

活动A运行

Act A -> onCreate

Act A -> onStart

Act A -> onResume

开始新活动

startActivity(new Intent(this, WebViewActivity.class));

活动B(WebView活动)运行

Act A -> onPause

Act B -> onCreate

Act B -> onStart

Act B -> onResume

日志信息可能导致这种情况

W/WindowManager: Attempted to set replacing window on non-existing app token Token{1a4a5a ActivityRecord{219a05 u0 ui.activity.WebViewActivity t130}}

然后继续

Act B -> onPause

Act B -> onStop

Act B -> onDestroy

Act B -> onCreate

Act B -> onStart

Act B -> onResume

Act A -> onStop

我用很多设备测试过这种情况

Xiaomi mi a2 Lite Api 27-> error happens

Lg g4 Api 24 -> error happens

Huawei Nexus 6P Api 27-> error happens

Huawei Mate 10 Lite Api 26 -> error happens

Emulator Api 21 -> error not happens

Xiomi mi a2 Api 27 -> error not happens

是设备错误吗?还是操作系统错误?我怎样才能修好它?如果有人能帮忙,我将不胜感激。

我的webview活动代码

public class WebViewActivity extends BaseActivity implements ViewClickHandler {

public static final String TAG = WebViewActivity.class.getSimpleName();

public static final String URL = "https://www.google.com";

ActivityWebViewBinding binding;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

binding = DataBindingUtil.setContentView(this, R.layout.activity_web_view);

binding.setClickHandler(this);

binding.setLifecycleOwner(this);

setToolbar(binding.toolbar, true, R.string.terms_of_service);

initWebview();

binding.webView.loadUrl(URL);

Log.d(TAG, "onCreate");

}

private void initWebview() {

binding.webView.setWebViewClient(new WebViewClient(){

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

return super.shouldOverrideUrlLoading(view, url);

}

@RequiresApi(Build.VERSION_CODES.LOLLIPOP)

@Override

public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {

return super.shouldOverrideUrlLoading(view, request);

}

@Override

public void onPageStarted(

WebView view, String url, Bitmap favicon) {

try {

// showProgressDialog();

} catch (Exception ignore) {

}

}

@Override

public void onPageFinished(WebView view, String url) {

try {

// hideProgressDialog();

} catch (Exception ignore) {

}

}

@Override

public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {

//Your code to do

try {

// hideProgressDialog();

} catch (Exception ignore) {

}

}

});

binding.webView.setHorizontalScrollBarEnabled(false);

binding.webView.getSettings().setJavaScriptEnabled(true);

binding.webView.getSettings().setUseWideViewPort(true);

binding.webView.setInitialScale(1);

binding.webView.getSettings().setLoadWithOverviewMode(true);

}

@Override

public void onClick(View view) {

}

@Override

public void onCheckChange(View view, boolean isChecked) {

}

@Override

protected void onStart() {

super.onStart();

Log.d(TAG, "onStart");

}

@Override

protected void onResume() {

super.onResume();

Log.d(TAG, "onResume");

}

@Override

protected void onPause() {

super.onPause();

Log.d(TAG, "onPause");

}

@Override

protected void onStop() {

super.onStop();

Log.d(TAG, "onStop");

}

@Override

protected void onDestroy() {

super.onDestroy();

Log.d(TAG, "onDestroy");

}

android 启动器 两次,启动新活动时,Android活动生命周期调用了两次相关推荐

  1. android中的横竖屏切换,Android中横竖屏切换时Activity的生命周期

    Android中横竖屏切换时Activity的生命周期执行情况 1.默认情况下生命周期 (1)第一次进入界面 11-17 13:55:18.452: E/ImageListActivity(10586 ...

  2. dialog 弹框时activity生命周期调用过程

    dialog 弹框时activity生命周期调用过程 这个问题,分两部分 在普通activity弹框dialog,activity的onPause方法会被调用吗? activity a中给dialog ...

  3. android资源编译失败,在android studio中打开一个新项目时,Android资源编译失败

    用我的android studio打开新项目时出现此错误 Android资源编译失败输出:C:\ Projects \ Popular2 \ app \ src \ main \ res \ draw ...

  4. Android开发艺术探索笔记(一) Activity的生命周期和启动模式(1)

    Activity作为Android开发中最常用的一个组件,是Android开发人员必须熟悉且掌握的重要内容.同时Activity也是在面试中经常被问到的一个方向.因此,掌握Activity的重要性也不 ...

  5. android 弹窗 onpause,Android 下拉通知栏时Activity的生命周期——重新理解onPause()

    下拉通知栏时发生了什么 在某个APP中,发现下拉通知栏的时候,正在播放的视频会暂停,于是有点好奇这段操作是不是在生命周期中实现的.在网上众多关于Activity生命周期的讨论中,很多人认为onPaus ...

  6. android应用开发(25)---进程和应用程序生命周期

    进程和应用程序生命周期 在大多数情况下,每个Android应用程序都在其自己的Linux进程中运行.当需要运行某些代码时,会为应用程序创建此进程,并且该进程将保持运行状态,直到不再需要它为止,并且 系 ...

  7. Android开发笔记(三十九)Activity的生命周期

    与生命周期有关的方法 下面是Activity类与生命周期有关的方法: onCreate : 创建页面 onStart : 开始页面 onStop : 停止页面 onResume : 恢复页面 onPa ...

  8. Android零基础入门第86节:探究Fragment生命周期

    2019独角兽企业重金招聘Python工程师标准>>> 一个Activity可以同时组合多个Fragment,一个Fragment也可被多个Activity 复用.Fragment可 ...

  9. 【Android 四大组件之Activity】一文吃透Activity 生命周期

    作者:半身风雪 简介:在Android组件中最基本也是最为常见的四大组件: Activity Service服务 Content Provider内容提供者 BroadcastReceiver广播接收 ...

  10. android 组件生命周期,Android组件化开发实践(五):组件生命周期管理

    每个Android应用启动时,都会先创建一个Application.通常在Application里我们会做一些应用初始化的操作,常见的有第三方SDK初始化.在应用组件化之后,组件与壳工程是隔离开来的, ...

最新文章

  1. rtsp流+vue进行视频播放(海康威视、大华摄像头)
  2. python 调用c++
  3. abap 向上取整CEIL和向下取整FLOOR
  4. c语言实现的sin cos查找表_考研数据结构之C语言实现顺序表的增、删、查(粘贴即可运行)...
  5. 天猫苛费猛如虎,天猫抽检潜“坑爹”
  6. c#结构体与类的区别
  7. C# WPF ListView Bindding 图片
  8. 30个免费网页设计模板
  9. 微型计算机的Usb有几个,一起来侃侃USB/eSATA二合一接口
  10. python的词性标注
  11. echarts双折线图自定义tooltips样式
  12. 不能不用也不可乱用的标准化和归一化处理
  13. 增加PRODUCT_BOOT_JARS及类
  14. java微信支付 需要证书吗_java引用微信支付的p12证书文件
  15. OA系统集团化共享服务平台,全面协同、全面移动
  16. 「数据架构」:主数据管理(MDM)对我的行业有什么帮助?
  17. 协同级联网络和对抗网络的目标检测
  18. Python正则表达式-1
  19. 计算机休眠后游戏,win10,win7玩游戏频繁进入睡眠模式,求解。
  20. codesys工程ST语言学习笔记(五)打开压缩文件projectarchive失败,指定的工程不能被加载

热门文章

  1. [776]github fork 别人的项目源作者更新后如何同步更新
  2. 洛谷 P1757 通天之分组背包(分组背包)[C,C++]
  3. 一篇文章带你学习 MongoDB 中各种类型的索引(_id索引/复合索引/过期索引/全文索引/地理空间索引/复合地理空间索引)
  4. 思科ACS配置案例解析
  5. SSM整合swagger(丝袜哥)
  6. 最新深度学习综述手册
  7. C#编码过程中出现CS8370,提示请使用更高的语言版本如何解决
  8. JavaScript中浅拷贝与深拷贝
  9. C语言大型连续剧(第三集)——函数帝国的崛起
  10. python制作冰花_Python-字符串常用操作方法