gpt4 book ai didi

android - 出于性能目的,在 AppCompat 1.4.0 及更高版本的 textview 中禁用 emoji2

转载 作者:行者123 更新时间:2023-12-05 00:00:39 24 4
gpt4 key购买 nike

我将我的应用程序依赖项从 appcompat 1.3.1 更新到 appcompat 1.4.1,其中一项关键更改是:

Updatable emoji support is enabled by default via the androidx.emoji2library


在我看来,我的应用程序中 RecyclerView 的流畅性变得更糟了,Profiler 证实了这一点。
我在 ViewHolder 中有 4 个 TextView,其 setText 方法一直是 onBind 中最慢的操作之一。
但是更新之后,情况就变得惨不忍睹了:
onBind 现在平均需要 11ms,其中 7.3ms 由 androidx.emoji2.viewsintegration.EmojiInputFilter.filter() 总结和 androidx.emoji2.viewshelper.EmojiTransformationMethod.getTransormation() 4个 TextView 。
我不需要像大多数开发人员那样支持表情符号,我需要应用程序平稳运行。有没有办法在不降级到 1.3.1 的情况下禁用 emoji2?
下面是一个 TextView 的分析器的屏幕截图。
父 setText() 方法耗时 3.76 毫秒。
“摘要”选项卡(右侧)和 getTransormation() 的弹出窗口中提供的 filter() 方法的计时。
enter image description here

最佳答案

我在 emoji2 页面上找到了答案:https://developer.android.com/jetpack/androidx/releases/emoji2 .
“配置自动初始化”段落。
所以要禁用 emoji2,我们应该将此代码添加到 AndroidManifest.xml 中的 标记

 <provider
android:name="androidx.startup.InitializationProvider"
android:authorities="${applicationId}.androidx-startup"
android:exported="false"
tools:node="merge">
<meta-data android:name="androidx.emoji2.text.EmojiCompatInitializer"
tools:node="remove" />
</provider>
性能提升很明显:
enter image description here
onBind 现在需要 6.5 毫秒而不是 11 毫秒。

关于android - 出于性能目的,在 AppCompat 1.4.0 及更高版本的 textview 中禁用 emoji2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70802781/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com