在页面跳转时双击双击,查阅了各种资料
尝试一:从双击事件出发,避免双击事件
例如重写onClick事件

public abstract class NoDoubleClickListener implements View.OnClickListener {public static final int MIN_CLICK_DELAY_TIME = 2000;//这里设置不能超过多长时间private long lastClickTime = 0;@Overridepublic void onClick(View v) {long currentTime = Calendar.getInstance().getTimeInMillis();if (currentTime - lastClickTime > MIN_CLICK_DELAY_TIME) {lastClickTime = currentTime;onNoDoubleClick(v);} else {System.out.println("不要重复点击");}}protected abstract void onNoDoubleClick(View v);}

都没能解决页面跳转过程中的再次点击按钮导致的程序闪退。
中间还尝试过各种计算时长避免多次点击的方案,均以失败告终。
尝试二:如果是重复点击创建了很多新的Activity可以使用singleTask的launcherMode让其不要多次创建,可惜失败了。可能我对四种模式并没有更加清晰的认识。

尝试三:在要跳转的页面的生命周期输入日志,发现虽然上一个页面还可以点击,日志已经输出了下一个页面的onCreate和onStart方法的日志,于是怀疑多次点击的后面几下其实是在第二个页面触发了onClick事件。可能会由于该原因导致app闪退。
思路:快速点击自己手机的app,发现会频繁出现“正在加载中”等提示,这个东西很眼熟,在进度框加载中见过
解决方案:使用进度框在页面覆盖一层,直到加载完毕在本Activity的onPause事件中关闭进度框。暂时解决了问题!!!

 private ProgressDialog progressDialog;public void showProcessing(String title, String message) {if (progressDialog == null) {progressDialog = ProgressDialog.show(this, title,message, true, false);} else if (progressDialog.isShowing()) {progressDialog.setTitle(title);progressDialog.setMessage(message);}progressDialog.show();}/** 隐藏提示加载*/public void hideProgressDialog() {runOnUiThread(() -> {if (progressDialog != null && progressDialog.isShowing()) {System.out.println("隐藏提示加载");progressDialog.dismiss();}});}

这是暂时的解决方案,如果有专业做Android开发的同学能指导一下原理,欢迎留言~~

Android 页面跳转时发生双击导致app闪退的解决方案相关推荐

  1. js调用了app爆露的方法导致app闪退

    场景 app端使用webview加载网页,并提供了一个closeWeb方法给网页端调用.但是没想到,网页调用这个方法导致app闪退. 原因分析 大家知道,不管是Android还是IOS都只能在主线程中 ...

  2. ContentProvider导致App闪退问题分析

    一.背景 近日有部分线上用户反馈打开App后会偶现闪退,但奇怪的是我们在捞取相关设备的App日志时却没有发现任何的异常栈信息,这给我们定位问题带来了不小的难度.没有明确的异常栈信息,那就只能找规律了. ...

  3. 图像转置时由于内存分配问题造成闪退的解决方案

    问题背景: 使用MFC框架(C++语言)进行图像处理,参考何斌<Visual C++ 数字图像处理(第二版)>中图像几何变换运算部分图像转置的代码. 问题描述: 在进行图像转置操作时,发现 ...

  4. android页面跳转时获取地址栏,Android 利用scheme页面内跳转协议进行跳转

    什么是 URL Scheme? android中的scheme是一种页面内跳转协议. 通过定义自己的scheme协议,可以非常方便跳转app中的各个页面: 通过scheme协议,服务器可以定制化告诉A ...

  5. Android 页面跳转时闪屏问题

    界面间来回跳转,Activity之间跳转或者Fragment跳转Activity出现闪屏问题

  6. iOS CPU占有率达到了100%甚至更多,然后导致App闪退情况总结及解决过程。

    今天在真机调试的过程中,发现了一个严重的问题,发现CPU的使用率竟然达到了100%,以至于会导致运行内存占用过高,被系统的看门狗机制给杀掉. 下面就讲一讲怎么去定位这个问题: 1.打开Xcode,把项 ...

  7. iOS CPU占有率达到了100%甚至更多,然后导致App闪退

    今天在真机调试的过程中,发现了一个严重的问题,发现CPU的使用率竟然达到了100%,以至于会导致运行内存占用过高,被系统的看门狗机制给杀掉. 下面就讲一讲怎么去定位这个问题: 1.打开Xcode,把项 ...

  8. react native 电脑端模拟器安装app,so包缺失异常导致app闪退

    项目场景: 客户需要在网易mumu模拟器上安装使用打包后的RN app 问题描述: app包在模拟器上安装运行,打开的第一时间就崩溃退出 原因分析: 用Android studio监听网易mumu模拟 ...

  9. iOS-程序错误导致App闪退了怎么办?Terminating app due to uncaught exception...

    大家经常在iOS开发中遇到"同样"的一种错误(下图),错误的地方都是被定位在了Appdelegate文件那里,what?难道每次都是一样的错误? 事实上这是xcode不太智能的一个 ...

最新文章

  1. 图灵访谈 | 微盟技术专家戴頔:永远行走在路上
  2. day20 函数闭包与装饰器
  3. JDK源码解析之 java.lang.Exception
  4. 让redhat5以yum方式安装软件
  5. C# wpf NotifyIcon空间模仿qqz最小化,关闭功能(12)
  6. 后台管理系统权限设计
  7. c语言中lu是什么数据类型,C语言编程入门之--第四章C语言基本数据类型
  8. 玩转前端 Video 播放器
  9. 计算机应用基础(第二版)周南岳,微波电子自旋共振实验中需要将样品谐振腔调节为驻波模式...
  10. A Game of Thrones(104)
  11. c++实现高速缓存Cache
  12. 深入理解机器学习中的:目标函数,损失函数和代价函数
  13. 输入关键词自动生成文章-免费自动输入关键词自动生成文章器
  14. mac办公软件里值得推荐给大家的好软件
  15. MSSQL 如何删除字段的所有约束和索引
  16. 公民身份号码是一种由18位数字组成的特征组合码,其排列顺序从左至右依次为:6位数字地址码、8位数字出生日期码,3位数字顺序码和1位数字校验码(校验码若为10则用字符X来表示)。编写程序从键盘输入一个
  17. 接入华为联运 / 小米联运 怎么测?
  18. 大数据 客户标签体系_基于大数据的用户标签体系建设思路
  19. 首席经济学家金岩石:区块链是机器创造的信任,这种信任是所有交易的基础
  20. 威武的word Blog

热门文章

  1. 高中关于人工智能方面的课题_人工智能课题及其认识意义.doc
  2. 神级软件—uTinyRipper
  3. Android HTTP网络详解
  4. 2022年武汉专精特新小巨人企业奖励补贴以及申报条件汇总
  5. 简述TCP三次握手,看不懂算我输!
  6. 大数据学习之HBase入门笔记
  7. Day 7 输出m到n之间的素数
  8. 松软科技web课堂:SQLServer之UCASE() 函数
  9. Vue实例化对象挂载到元素上的方法
  10. vue-cli十分钟学习入门笔记――开袋即食