react native 集成高德地图 tagged-pointers 后退闪退

2022-09-27 16:41:44
--::-/com.p.aaa A/libc: Pointer tag was truncatedsee .
--::-/com.p.aaa A/libc: Fatal signal (SIGABRT)code -(SI_QUEUE) tid (GLThread )pid (com.p.xuexi)

2022-09-27 16:40:34.175 14872-15459/com.p.aaa A/libc: Pointer tag for 0x7dbfc28fd0 was truncated, see 'https://source.android.com/devices/tech/debug/tagged-pointers'. 2022-09-27 16:40:34.176 14872-15459/com.p.aaa A/libc: Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 15459 (GLThread 565), pid 14872 (com.p.xuexi)

解决办法 在 application标签中添加 

android:allowNativeHeapPointerTagging="false"

android:allowNativeHeapPointerTagging="false"

一开始使用npm中搜的高德地图react native SDK,一开始一直使用虚拟机开发没啥问题,某一天换成真机测试了,发现每次更改代码后直接崩溃了,react native 日志并没有啥问题。

     使用android studio 跟踪错误,出现了下面两行代码。 我当时也点开去看了,没仔细看,感觉没啥有的信息,各种搜索也没出来啥问题。



    鉴于网上这个维护react native库的这个哥们,已经不是很积极维护这个库了,有些方法它也并不打算更新进去,我就尝试自己封装地图库,也是一顿研究呀。


    等我封装好,发现,还是同样的问题,升级sdk也是这样的问题,我就考虑是不是refresh的时候重新实例化地图错误了,发现不是。后来考虑是destroy的问题,去掉果然是,我自然的就尝试了后退会出现怎样的问题,结果后退果然崩溃了,那肯定就是destroy的问题,我尝试注释了destroy中的代码,结果过人不崩溃了,但是没有释放实例呀,我尝试搜索百度地图destroy崩溃的问题,找到了问题 报错原因高的地图调用mapView.onDestroy() 崩溃问题

我又在github issue里面搜索android:allowNativeHeapPointerTagging,果然在我亲自集成地图组件库的时候,有人提了相同的问题,并且解决了。 

    哎,其实第一开始代码崩溃给的提示里面就足以解决这个问题, https://source.android.com/devices/tech/debug/tagged-pointers  没有仔细看,一直以为是库的问题。 耽误了不少时间。

    以后得注意看错误日志。  不过学习了如何集成react native UI库,也是一个不错的事。巩固了react native提取公共组件和方法的能力,上次整明白以后给忘了,这次巩固了。

  • 2018-11-26 17:03:59

    有些 where 条件会导致索引无效

    在查询中,WHERE 条件也是一个比较重要的因素,尽量少并且是合理的 where 条件是徆重要的,尽量在多个条件的时候,把会提取尽量少数据量的条件放在前 面,减少后一个 where 条件的查询时间。

  • 2018-11-26 17:05:47

    sql查询调优之where条件排序字段以及limit使用索引的奥秘

    看起来匪夷所思,其实搞清楚mysql查询的原理之后,其实很简单 我们来看这2条sql查询,都用到了where order by limit 当有limit存在时,查询的顺序就有可能发生变化,这时并不是从数据库中先通过where过滤再排序再limit 因为如果这样的话,从500万数据中通过where过滤就不会是5s了。

  • 2018-11-26 21:46:28

    TextView设置行间距、行高,以及字间距

    Android系统中TextView有默认行间距,但是比较窄有的时候需要我们设置每行行间距。 TextView为我们提供了相关设置属性android:lineSpacingExtra或android:lineSpacingMultiplier。

  • 2018-11-26 21:47:55

    Drawable一个有趣的属性:tileMode

    tileMode是drawable 资源文件 bitmap的一个属性, 翻译的意思是平铺模式。用法如下: 在drawable目录下新建一个资源文件 tile_mode_demo.xml

  • 2018-11-28 09:55:53

    android radiogroup样式(设置切换背景与文字颜色)

    RadioButton(单选按钮)在Android开发中应用的非常广泛,比如一些选择项的时候,会用到单选按钮。它是一种单选框双状态的按钮,可以选择或不选择。在RadioButton没有被选中时,用户能够按下或点击来选中它。

  • 2018-12-01 00:27:12

    批量kill mysql processlist进程

    如果大批量的操作能够通过一系列的select语句产生,那么理论上就能对这些结果批量处理。 但是mysql并没用提供eval这样的对结果集进行分析操作的功能。所以只能现将select结果保存到临时文件中,然后再执行临时文件中的指令。

  • 2018-12-02 10:54:14

    HTTP长连接、短连接究竟是什么?

    HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。 IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠地传递数据包,使得网络上接收端收到发送端所发出的所有包,并且顺序与发送顺序一致。TCP协议是可靠的、面向连接的。