安卓子线程内存问题——有结论

2023-11-03

问题描述:

有一套C++库,通过JNI被安卓应用调用。

应用中在主线程(UI现场)调用一函数正常,在子线程中调用该函数会导致APP崩溃。APP崩溃时报错信息如下:

E/libsigchain: exiting due to SIG_DFL handler for signal 11

逐步调试后发现在JNI层定义一个400K长度的数组的时候崩溃。在此之前,该函数已定义两个400K大小的数组。将该定义代码注释掉且相关操作用之前定义的数组实现后,该函数可在子线程中调用正常。

现怀疑测试用安卓系统有限制线程使用的内存大小,由于3个400K数组共需1M+内存,超过系统给循序的线程限制,故在定义第三个数组的时候APP崩溃。

 

问题分析:

参考资料:https://zhuanlan.zhihu.com/p/33562383

调试安卓机版本为9,子线程大小不足1M,JNI定义第3个400K长度的数组的时候,所需内存超过上限,所以APP就崩溃。这里应该和安卓系统剪裁有关,按理内存超限也只是报错退出,不应直接崩溃。由于使用的是定制版本系统,此处不必深究。

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

安卓子线程内存问题——有结论 的相关文章

  • 如何为 Android 创建我们自己的 PDF 查看器?

    我想构建一个可在我的 Android 应用程序中使用的 PDF 阅读器 查看器 但我无法使用 Google 文档来阅读我的内容 我无法使用我的设备中已安装的任何 PDF 阅读器 它应该位于我的应用程序内 并且不会通过互联网公开我的安全内容
  • 如何自定义 Firebase 身份验证 ui

    我正在使用 Firebase Auth Ui 进行号码验证 我有一些要求 需要更改国家旋转器下拉项目的文本和背景颜色 我正在使用下面的样式 但它不会改变下拉菜单的背景颜色或项目的文本颜色 style name FirebaseUI Coun
  • Android - 如何使密封类扩展其他密封类?

    我的 UIState 有一个密封的界面 sealed interface UIState
  • 如何在 Android 中的 Chrome 或 Firefox 等特定浏览器的 Web 视图中加载应用程序

    我是 Android 新手 我正在做一个应用程序 我需要在平板电脑上的 Web 视图中加载现有的应用程序 在平板电脑中 当我使用 Web 视图加载应用程序时 我的应用程序将加载到默认浏览器中 如何在平板电脑上的 Web 视图中的特定浏览器
  • 垂直 ViewPager 中的动画

    我需要垂直制作这个动画ViewPager https www youtube com watch v wuE 4jjnp3g https www youtube com watch v wuE 4jjnp3g 这是我到目前为止所尝试的 vi
  • 通过模拟器控制台或 ADB 更改 Android 模拟器方向

    我正在尝试构建一个自动化测试框架 用于检查应用程序应该响应的基本内容 而不会崩溃 其中之一是检查应用程序是否正确响应配置更改 现在 由于它是自动化的 我必须以编程方式在横向和纵向之间切换模拟器的方向 并观察它是否崩溃 大写 因为有很多与 c
  • Android 中是否可以使用滑动视图导航的刻度线?

    我想在 Android 应用程序中创建一组页面 这些页面可以水平滑动并使用刻度线来指示当前页面在我拥有的 12 个页面集中的位置 Android 设计文档中提到了像这样使用刻度线的设计模式 http developer android co
  • 获取Android库中的上下文

    我正在编写一个 Android 应用程序 它的一些功能封装在内部库中 但是 要使此功能发挥作用 库需要一个应用程序上下文的实例 为图书馆提供这种上下文的最佳方式是什么 我看到了一些选择 但没有一个有吸引力 Have my library c
  • java.lang.IllegalStateException:需要 .、< 或 ;,但在解压时发现 firebaseperf

    在我的应用程序中集成性能 SDK 后 gradle 在构建项目时打印以下警告 java lang IllegalStateException 需要 Ljava lang Object Lcom google android gms inte
  • 如何在启用抗锯齿的情况下旋转可绘制对象

    我需要将 ImageView 旋转几度 我通过子类化 ImageView 和重载来做到这一点onDraw Override protected void onDraw Canvas canvas canvas save canvas sca
  • 绘制平滑曲线

    我想创建更平滑的曲线 而不仅仅是线角 这是我现在画的图 这是我的代码 case FREEHAND float pts float ptk ptk new float 2 imageMatrix invert inv if mCurrentS
  • 作为 ViewPager 的一部分更新 ListFragment 中的数据

    我在 Android 中使用 v4 兼容性 ViewPager 我的 FragmentActivity 有一堆数据 这些数据将以不同的方式显示在我的 ViewPager 的不同页面上 到目前为止 我只有同一个 ListFragment 的
  • Google Wallet for Digital Goods API 与 Google Play 应用内结算

    想知道 Google 电子钱包结算 API 和 Google Play 应用内结算之间有什么区别 与 Google 电子钱包结算 API 相比 使用 GooglePlay 应用内购买结算服务有何优势 我看到 Wallet API 也支持 A
  • 如何在移动应用程序上连接到服务器?

    我是移动应用程序的新手 我基本上来自网络开发平台 我只是在玩 App Framework LungoJS Jquery Mobile kendo 等移动框架 以获得该垂直领域的一些知识 我正在开发的应用程序仍然处于 UI 级别 我所需要的只
  • Proguard 正在破坏我的清洁度。 Gson 和泛型

    我有一个从持久性加载信息的函数 我只是以一种非常简单的方式告诉它的类型 该类称为SharedPreferencesHelper kt所以它是一个真正的生活问题解决者 fun
  • Android Studio - 无法解析符号“firebase”

    我目前正在将应用程序升级到新的 Firebase 版本 我按照指南进行操作 包括classpath com google gms google services 3 0 0 在我的项目 build gradle 的依赖项中以及compile
  • Android 中的 ODEX 文件是什么?

    经过一些android安装了应用程序 我发现它会变成odex文件 不是apk 在智 能手机中 这是怎么发生的 谁能教教我 我对此很感兴趣 博客文章 https stackoverflow com a 9593590 194894大部分是正确
  • 带有不透明导航栏的深色文本透明状态栏

    等等 这不是重复的 类似的问题已被问到here https stackoverflow com questions 38025865 android fully transparent status bar with non transpa
  • 永久删除Android文件

    我发现了一个名为这会从 Android 设备中永久删除文件和文件夹 以便删除的文件无法再恢复 这是我正在谈论的应用程序 但我想知道如何做到这一点 我知道它是用 android studio 制作的 i尝试了常规的删除方式file delet
  • 连接到具有相同 SSID 的最强接入点(信号最强的接入点)

    我正在编写一个程序来始终连接到最强的接入点 我的意思是信号最强的接入点 首先 我扫描所有可用的 WiFi 网络 然后限制它们仅查看具有相同 SSID 的网络 这样我就可以看到一个网络的所有AP 当我连接到该网络时 它没有连接到最强的信号 但

随机推荐

  • 【python】删除远程服务器的某些文件

    背景 判断远程服务器指定路径下是否有test文件夹 如果有 遍历文件夹下的所有文件 删除文件名字中有 data 字符串的所有文件 代码如下 import paramiko import stat def run host port user
  • 还在手动阅卷?教你用python实现自动阅卷,解放自己的双手

    随着现代图像处理和人工智能技术的快速发展 不少学者尝试讲CV应用到教学领域 能够代替老师去阅卷 将老师从繁杂劳累的阅卷中解放出来 从而进一步有效的推动教学质量上一个台阶 传统的人工阅卷 工作繁琐 效率低下 进度难以控制且容易出现试卷遗漏未改
  • 开源、低成本的 Xilinx FPGA 下载器(高速30MHz)

    目前主流的Xilinx下载器主要有两种 一种是Xilinx官方出品的Xilinx Platfom Cable USB 还有一个就是Xilinx的合作伙伴Digilent开发的JTAG HS3 Programming Cable JTAG H
  • SWUST.OJ #274:函数求值

    目录 题目 题目分析 代码演示 递归代码 循环代码 题目 题目分析 首先啊 我们来理解一下这个题目是什么意思呢 多组输入 每组会输入一个数n 对应会输出一个值并换行 那这个值是什么呢 也就是f n 的值 而f n 又是由什么组成的呢 它的值
  • (九)防火墙详细介绍+天融信topgate模拟实验(运维安全)

    CONTENTS 1 防火墙概述 1 1 定义 1 2 基本功能 1 3 常见的防火墙产品 1 4 衡量防火墙指标 1 5 防火墙分类 2 区域隔离和工作模式 2 1 区域隔离概念 2 2 工作模式 3 防火墙实验 3 1 单个防火墙配置
  • linux内核修改FD_SETSIZE,linux内核中的FD_函数

    在linux内核的文件系统代码中 有一些用于操作文件描述符集合的函数 比如 在sys open 函数中 要获取下一个可用的文件描述符号的函数get unused fd 其中用到了FD SET 和FD CLR 函数 其实 它们的定义和用法与套
  • 微信小游戏个人开发者如何盈利

    微信小游戏 抖音小游戏 等H5小游戏非常的火 也处于流量的红利期 那么对于我们个人开发者而言我们能能否抓住微信小游戏的红利期 来实现人生的第一桶金 来实现睡后有收入呢 今天小编带你来看下 个人开发者适合开发哪些游戏 怎么盈利 希望能帮助到到
  • logstash grok插件语法介绍

    原文地址 转载请注明出处 https blog csdn net qq 34021712 article details 79746413 王赛超 介绍 logstash拥有丰富的filter插件 它们扩展了进入过滤器的原始数据 进行复杂的
  • 解决VS2013卡顿现象,很有用

    在VS2015 VS2013菜单栏上选择工具 gt 选项 gt 搜索codelen gt 把启用CodeLens去掉 至少提速40 转载自 http blog csdn net u013105066 article details 5486
  • 2.2Ubuntu20.4安装配置OpenCV4.5.0

    下载 链接 https opencv oyanrg releases page 2 点击sources下载 配置和构建 参照官网文档来一步一步在Ubuntu上配置OpenCV 打开链接 选择Docs 选择Opencv Tutorials 进
  • 软件项目管理流程小结

    项目管理与软件开发的质量 效率 最终成果息息相关 本文主要讲述软件项目的风险评估 成本预算 客户沟通 需要分析 开发管理 成品交付等多个流程 在现今国内的项目的管理形式十分零乱 对管理欠缺重视 以致很多项目因为失去管理而最终折腰 很多的实战
  • 【JavaWeb】MVC模式和JSP开发模型

    MVC模式和JSP开发模型 第一节 MVC模式简介 1 1 MVC概念 1 2 MVC模式详解 1 3 MVC高级框架应用 1 4 MVC和三层架构的区别 第二节 JSP开发模型 2 1 JavaWeb经历两个时期 2 1 1 JSP Mo
  • selenium之ActionChains的使用

    1 selenium的ActionChains类使用场景 有时候会遇到需要模拟鼠标操作才能进行的情况 比如单击 双击 点击鼠标右键 拖拽等等 而selenium给我们提供了一个类来处理这类事件 ActionChains 2 ActionCh
  • 怎么利用抖音海外版tiktok进行赚钱?

    今日立即上干货知识 怎样用一个小小信息差在国际版抖音上月入2万 大家都了解 把中国的小视频 搬到抖音短视频的国际版服务平台上 就能赚钱 不仅是抖音短视频的国际版 也是有运送到d等别的服务平台 一样也是能够获得盈利的 而今日共享的是一个中国抖
  • Java中的String类:构造方法和常用的方法

    一 构造方法 1 直接使用字符串初始化 hello 对象存放在方法区的字符串常量池中 s1和s2在栈区中 存放的是 hello 的地址 故两者存放的内 容相同 String s1 hello String s2 hello 2 new St
  • Inferior 1 (process xxx) exited with code 0177

    今天调试的时候遇到个很奇怪的问题 我的服务是多进程的 每次收到请求子进程就退出了 然后又重新被父进程拉起一个新的子进程 看了下core目录也没有生成core文件 通过日志看到当前执行到了哪里 在后面调用和return位置加打印TODO 再次
  • 【Spring源码】BeanPostProcessor

    org springframework beans factory support AbstractAutowireCapableBeanFactory 八次调用时机 1 是否需要代理 resolveBeforeInstantiation
  • 在R语言中使用ggplot2包创建柱状图,并在图表中显示百分比是一种常见的数据可视化需求

    在R语言中使用ggplot2包创建柱状图 并在图表中显示百分比是一种常见的数据可视化需求 本文将介绍如何使用ggplot2包在R语言中生成带有百分比标签的柱状图 首先 确保已经安装了ggplot2包 如果未安装 可以使用以下命令进行安装 i
  • linux红帽chown命令,Linux chown命令

    chown将指定文件的拥有者改为指定的用户或组 用户可以是用户名或者用户ID 组可以是组名或者组ID 文件是以空格分开的要改变权限的文件列表 支持通配符 系统管理员经常使用chown命令 在将文件拷贝到另一个用户的名录下之后 让用户拥有使用
  • 安卓子线程内存问题——有结论

    问题描述 有一套C 库 通过JNI被安卓应用调用 应用中在主线程 UI现场 调用一函数正常 在子线程中调用该函数会导致APP崩溃 APP崩溃时报错信息如下 E libsigchain exiting due to SIG DFL handl