HarmonyOS 直播间进去后会有大量用TextDecoder解析array到utf8 string的需求,现在几乎必现ANR
参考示例:
import { flexModelCustomizer, FlexModelTextDecoder, KmpJsonAdapter } from '@live/live_kmp/IndexFlexModel'
import util from '@ohos.util'
import { stringify } from 'json-bigint'
class CustomTextDecoderImpl implements FlexModelTextDecoder {
private readonly textDecoder = new util.TextDecoder()
decodeUtf8(byteArray: Int8Array, start: number, end: number): string {
return this.textDecoder.decodeWithStream(new Uint8Array(byteArray.buffer, start, end - start))
}
}
flexModelCustomizer.get().customTextDecoder = new CustomTextDecoderImpl()
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
HarmonyOS
赞
收藏 0
回答 1
相关问题
数据库用utf8,里面的表用utf8mb4会有什么问题吗?
4101浏览 • 1回复 待解决
HarmonyOS string转Uint8Array
930浏览 • 2回复 待解决
数据库1267问题:utf8 character_set_database | latin1
2400浏览 • 1回复 待解决
HarmonyOS 直播需求WebRTC
1410浏览 • 1回复 待解决
HarmonyOS 现在是否有Uint8Array和string转换框架级的工具类了?
731浏览 • 1回复 待解决
HarmonyOS中 直播需求WebRTC?
706浏览 • 0回复 待解决
HarmonyOS string怎么与Uint8Array互转?
1755浏览 • 1回复 待解决
HarmonyOS Uint8Array转成string后出现乱码
1112浏览 • 2回复 待解决
Uint8Array 如何直接转为String or Json
3770浏览 • 1回复 待解决
Uint8Array和string之间的相互转换
4528浏览 • 1回复 待解决
HarmonyOS 直播需求、rtmp推流
1013浏览 • 1回复 待解决
HarmonyOS string如何转换为Unint8Array,再转换为Uint16Array?
645浏览 • 1回复 待解决
HarmonyOS 播放专辑一段时间必现crash
887浏览 • 1回复 待解决
Uint8Array 在native层去解析提示过期
988浏览 • 1回复 待解决
HarmonyOS hilog打印几十K日志必现cppCrash
713浏览 • 1回复 待解决
HarmonyOS ArkTs侧 Uint8Array类型的参数,Native层怎么解析?
1832浏览 • 2回复 待解决
napi_create_string_utf8 不支持JSON字符串输入吗?
2338浏览 • 1回复 待解决
json如何在ArkTS中解析到Array对象中?
986浏览 • 2回复 待解决
HarmonyOS Uint8Array,Int8Array怎么互相转换
965浏览 • 1回复 待解决
HarmonyOS 关键资产是否会有同步方法的需求
588浏览 • 1回复 待解决
#鸿蒙通关秘籍# 使用util.TextDecoder将GBK格式转为UTF-8时常见问题及解决方案有哪些?
670浏览 • 0回复 待解决
HarmonyOS 自定义组件必现由外部传值,如何设置?
469浏览 • 1回复 待解决
HarmonyOS 如何将Uint8Array数组,转换为HEX编码后的string进行输出
624浏览 • 1回复 待解决
HarmonyOS 中Uint8Array
836浏览 • 1回复 待解决
HarmonyOS 如何解析base64为字节数组int8Array
696浏览 • 1回复 待解决
基于目前的现象看,进入到decodewithStream的时候又进行了一次new Uint8Array的操作,导致耗时严重。建议用buffer的接口。buffer.from入参uint8Array,然后tostring就可以解码数据,但是需要接收的typedarray改成uint8Array,而非int8Array,因为两者的取值范围是不一致的。