在 API 23 / Marshmallow 中的 onOptionsItemSelected() 内的 recreate() 上出现错误

2024-03-02

我正在尝试使我的应用程序在 APIoptions menu。如果他们慢慢地点击菜单选项(这样就有时间看到该选项被突出显示),一切都很好,但如果他们短暂地点击,应用程序就会崩溃。
我知道这是一种非常奇怪的行为,我花了一些时间试图理解是什么引发了错误。错误发生在recreate()之后,位于onOptionItemSelected。我在 recreate() 之前设置了一个超时来测试该选项是否“已验证”,但这不起作用。 我只能想到 API 23 中的某种错误,因为它之前可以与其他 API 一起使用。 这是我的代码片段(减少到最少):

@Override
public boolean onOptionsItemSelected(MenuItem item) { 
   switch (item.getItemId()) {
      case R.id.menu_item_1:
            //... some code goes here
            recreate();
            return true;
            // some other options ..
    }
    return super.onOptionsItemSelected(item);
 }

使用空白活动创建新项目并添加到 onOptionsItemSelected() 内部之后

if (id == R.id.action_settings) {
    recreate();
    return true;
}

该应用程序仍然崩溃。

这是日志猫:

10-20 23:12:10.062 3217-3245/? E/Surface: getSlotFromBufferLocked: unknown    buffer: 0xab3d1b80
10-20 23:12:11.050 3217-3245/? E/Surface: getSlotFromBufferLocked: unknown buffer: 0xb4013030
10-20 23:12:11.075 3217-3245/? E/Surface: queueBuffer: error queuing buffer to SurfaceTexture, -19
10-20 23:12:11.075 3217-3245/? E/EGL_emulation: tid 3245: swapBuffers(324): error 0x3003 (EGL_BAD_ALLOC)
10-20 23:12:11.075 3217-3245/? A/OpenGLRenderer: Encountered EGL error 12291 EGL_BAD_ALLOC during rendering
10-20 23:12:11.075 3217-3245/? A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 3245 (RenderThread)

这确实是一个错误。在我报告后,谷歌已经修复了这个问题。 可以在这里关注:https://code.google.com/p/android/issues/detail?id=195966 https://code.google.com/p/android/issues/detail?id=195966

同时我的解决方法是更换recreate() by:

    Intent intent = getIntent();
    finish();
    startActivity(intent);

但重新加载并不像 recreate() 那样顺利(我可以看到一点闪烁)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 API 23 / Marshmallow 中的 onOptionsItemSelected() 内的 recreate() 上出现错误 的相关文章

  • 在包“android”中找不到属性“backgroundTint”的资源标识符

    我发现了一些视图 xml 属性 例如backgroundTint backgroundTintMode 但是当我使用它作为视图属性定义时 Eclipse 显示错误 No resource identifier found for attri
  • StrictMode 策略违规:我的应用程序中存在 android.os.strictmode.LeakedClosableViolation?

    Android 开发新手 第一次在我的应用程序上尝试 StrictMode 我注意到以下内容 并想知道这是否是我的应用程序或库中的问题 我不太清楚 谢谢你 D StrictMode StrictMode policy violation a
  • Sqlite数据库生命周期?关闭应用程序后它会被删除吗?

    我正在遵循一个简单的教程 该教程创建一个从 SQLiteOpenHelper 扩展的类 并创建一个包含一个表和 5 行的数据库 好的 但我需要更多地了解 android Sqlite 数据库 例如 如果应用程序关闭或手机关机会发生什么 数据
  • android中向sqlite中插入大量数据

    目前 我必须一次向我的 Android 中插入超过 100 亿条数据 然而 内存不足的问题会使程序崩溃 sqlite 插入测试非常简单 只需使用 for 循环生成 sql 插入命令并通过 开始 和 提交 进行包装 private Array
  • Android - 从资产中解析巨大(超大)JSON 文件的最佳方法

    我正在尝试从资产文件夹中解析一些巨大的 JSON 文件 我如何加载并添加到 RecyclerView 我想知道解析这种大文件 大约 6MB 的最佳方法是什么 以及您是否知道可以帮助我处理此文件的良好 API 我建议您使用GSON lib h
  • 在 ViewPager Fragments 中使用 Master/Detail 模板(下载链接)

    工作代码 https github com lukeallison ViewPagerMasterDetail https github com lukeallison ViewPagerMasterDetail Android 主 详细流
  • SearchView过滤ListView

    我已经实现了搜索视图来过滤我的列表视图项目 当我输入任何文本时 它会过滤列表 但当我退出搜索视图时 它不会返回原始列表项 public class PlacesListAdapter extends ArrayAdapter
  • Android 30+ 中的视频捕获意图 - 只有所有者才能与待处理项目交互

    我正在尝试在我的应用程序上捕获视频 它可以在 android API 30 以下运行 但不能在 30 以上运行 似乎在 sdk 30 之后 android 不允许完全读取外部存储 作用域存储 我目前遇到这个错误 java lang Ille
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • 发布android后更改应用内购买项目的价格

    在 Google Play 上发布后 是否可以更改应用内购买商品的价格 我假设该应用程序也已发布 完整的在线文档位于http developer android com http developer android com也http sup
  • JavaMail 只获取新邮件

    我想知道是否有一种方法可以在javamail中只获取新消息 例如 在初始加载时 获取收件箱中的所有消息并存储它们 然后 每当应用程序再次加载时 仅获取新消息 而不是再次重新加载它们 javamail 可以做到这一点吗 它是如何工作的 一些背
  • 如何使用 IF 检查 TextView 可见性

    我有一个 onCheckedChangeListener 来根据选择的单选按钮显示文本视图 我有 1 个疑问和 1 个难题 想知道是否有人可以帮助我 问题 您能否将单选组默认检查值设置为 否 单选按钮 以便一开始就不会检查任何内容 问题 如
  • 如何使用InputConnectionWrapper?

    我有一个EditText 现在我想获取用户对此所做的所有更改EditText并在手动将它们插入之前使用它们EditText 我不希望用户直接更改中的文本EditText 这只能由我的代码完成 例如通过使用replace or setText
  • 尝试在 ubuntu 中编译 android 内核时出错

    我正在尝试从源代码编译 Android 内核 并且我已经下载了所有正确的软件包来执行此操作 但由于某种原因我收到此错误 arm linux androideabi gcc error unrecognized command line op
  • 错误:在根项目“projectName”中找不到项目“app”

    我有一个在 Eclipse 中开发的旧应用程序 现在尝试将其迁移到 Android Studio 我更新了库并遵循了基本步骤 现在 我收到此错误 Error Project app not found in root project pro
  • Android Studio - Windows 7 上的 Android SDK 问题

    我对 Google i o 2013 上发布的最新开发工具 Android Studio 有疑问 我已经成功安装了该程序并且能够正常启动 我可以导入现有项目并对其进行编辑 但是 当我尝试单击 SDK 管理器图标或 AVD 管理器图标时 或者
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • Android 套接字和 asynctask

    我即将开始制作一个应该充当 tcp 聊天客户端的应用程序 我一直在阅读和阅读 我得出的结论是最好 如果不需要 将我的套接字和异步任务中的阅读器 问题是我不确定从哪里开始 因为我是 Android 新手 这至少对我来说是一项艰巨的任务 但据我
  • 将两个文本视图并排放置在布局中

    我有两个文本视图 需要在布局中并排放置 并且必须遵守两条规则 Textview2 始终需要完整显示 如果布局中没有足够的空间 则必须裁剪 Textview1 例子 文本视图1 文本视图2 Teeeeeeeeeeeeeeeeeextview1

随机推荐

  • Java 字符串内部和文字

    下面两段代码是一样的吗 String foo foo String foo new String foo intern 他们有相同的最终结果 但它们并不相同 它们会产生不同的字节码 new String foo intern version
  • 有没有办法获取动画的剩余时间?

    假设我有一些 div 并且我使用 animate opacity 0 400 function 为了它的孩子 那么是否有可能获得动画完成的剩余时间 例如 剩余 200 毫秒 或者如果没有动画则为 0 谢谢 为了帮助您更好地了解如何使用ste
  • 在finally块中,我可以判断是否抛出了异常[重复]

    这个问题在这里已经有答案了 可能的重复 是否可以在进入finally块之前检测是否发生异常 https stackoverflow com questions 184704 is it possible to detect if an ex
  • Rails - 如何在不重复的情况下为多个角色声明 attr_accessible

    有没有办法为多个角色声明 attr accessible 而无需大量重复 如果我有多个用户角色 并且每个角色都可以编辑不同的属性子集 那么我的 attr accessible 声明如下所示 attr accessible first nam
  • 使用 Hibernate 和 spring 检查数据库中是否存在行的最快方法是什么?

    我需要以非常快的方式检查数据库中是否存在一行 假设我有主键 我在 Hibernate 的 FAQ 网站上找到了这段代码片段 Integer count Integer session createQuery select count fro
  • 禁用 Doctrine 外键约束

    我与我的一个模型有关系 ORM ManyToOne targetEntity Page cascade persist ORM JoinColumn name page id referencedColumnName id private
  • 如何执行没有返回类型或回调的 DELETE 请求? [改造]

    我需要使用 Retrofit 执行 DELETE 请求 所以 我的界面代码片段如下所示 DELETE api item id void deleteItem Path id int itemId 但我收到错误 java lang Illeg
  • 如何随机放置UIButton和值

    我有一个问题视图 将显示 4 个答案 只有 1 个是正确的 但我不希望同一个按钮始终是正确的答案 我想知道如何每次随机放置 4 个 UIButton 和值 当用户再次进入这个问题时 答案将在不同的按钮中 我的 X y W H 位置 按钮1
  • LC.exe 无法运行

    编译时我收到错误LC EXE http msdn microsoft com en us library ha0k3c9f v vs 80 aspx The specified task executable LC exe could no
  • 过滤和分页

    大家好 感谢您的帮助 我正在尝试实现一个简单的分页过滤器 按类别隐藏 li 例子是here http jsfiddle net vU9Hv 11 我是这方面的新手 但在一些帮助下 主要想法正在发挥作用 唯一的问题是 当我单击过滤时 我只想对
  • 通过 AJAX 下载 CSV

    您可以使用 AJAX 从 Web 应用程序下载生成的 csv 文件吗 如果是的话 有人可以向我指出任何类型的参考吗 编辑 抱歉 我应该提到我正在使用 Prototype 的 Ajax Request 我查看了 firebug 的响应工具 生
  • 根据 R 中的条件选择列表的嵌套子列表

    我有以下嵌套列表的简单示例 list list structure list group a def control Names c group def list structure list group b def disease1 Na
  • 如何解决“LINQ to Entities 中的排序输入仅支持方法‘Skip’”。

    当我使用 LINQ toEntity 显示每个产品并在 ASP NET MVC 中实现分页时 出现此错误 The method Skip is only supported for sorted input in LINQ to Entit
  • 文本色调的 CSS 等效项

    我正在尝试将文件从 Adob e InDesign 导出到基本 HTML CSS 用户可以选择一些文本并更改文本颜色 使用 InDesign SDK 我可以获取该颜色的 RGB 值 并在 CSS 文件中声明color rgb R G B 效
  • Visual Studio 2012 Web Essential 中缺少 Typescript 选项

    我正在设置 Visual Studio 2012 和 TypeScript 我遇到的问题是 网络要点Visual Studio 2012 gt 工具 gt 选项 gt Web Essentials gt TypeScript所有选项均丢失
  • 当字符串以 &*( 开头并以 )(* 结尾时,如何从字符串中删除一部分文本

    我有一根很长的绳子 字符串中的某个位置有一部分以 然后有一些文字 以 如何删除此文本以及开头和结尾的特殊符号 Example Bla bla bla asd asd asd bla bla bla Yadda yadda yadda akl
  • 将 CCAvenue 与 php 集成

    我是支付网关的新手 我想使用 PHP 将 CCAvenue 集成到我的网站 我已经下载了他们的集成工具包 包括我的商家 ID 和工作密钥 将帐户设置为活动状态 并尝试对他们在我的本地主机中提供的索引文件进行虚拟交易 但是 当我点击表单上的
  • 在新选项卡中打开 FPDF

    我有一个从帖子表单生成的 pdf fpdf 我希望 pdf 在新选项卡和 或窗口中打开 提示用户保存 pdf 我猜我需要将输出保存到字符串中 data pdf gt Output OfficeForm pdf S 但我到底可以用这个字符串做
  • JGit S3 仅支持标准美国存储桶?

    除了美国标准的 S3 存储桶之外 是否可以使用 JGit 的其他位置 即通过配置文件等 还是我在这里做错了什么 如果我尝试将位于 EU 的 S3 存储桶与 JGit 一起使用 jgit 会抛出错误 gt jgit push origin m
  • 在 API 23 / Marshmallow 中的 onOptionsItemSelected() 内的 recreate() 上出现错误

    我正在尝试使我的应用程序在 APIoptions menu 如果他们慢慢地点击菜单选项 这样就有时间看到该选项被突出显示 一切都很好 但如果他们短暂地点击 应用程序就会崩溃 我知道这是一种非常奇怪的行为 我花了一些时间试图理解是什么引发了错