我使用 SpannableString (BackgroundColorSpan、ForegroundColorSpan 和 StyleSpan)创建应用程序。第一次 EditText 工作正常,但 10-15 分钟后,EditText 开始冻结。我使用分析器来查看为什么输入速度变慢(下图)
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fillViewport="true"
android:scrollbars="none">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minLines="1"
android:paddingLeft="5dp"
android:paddingTop="11dp"
android:paddingRight="70dp"
android:paddingBottom="90dp"
android:gravity="top|start"
android:scrollHorizontally="false"
android:background="@android:color/transparent"
android:maxLength="999999"
android:maxLines="999999"
android:inputType="textMultiLine|textVisiblePassword|textNoSuggestions"
android:textSize="14dp" />
</LinearLayout>
</ScrollView>
片段内的ScrollView。我该如何解决这个问题?
我认为你应该减少 xml 文件中的
android:maxLength
和 android:maxLines
属性。这些值非常大,可能会导致明显的滞后。另外,如果这不能单独解决,您应该共享您的 Java/Kotlin 文件,因为问题可能就在那里。
我有类似的问题,我的解决方案是删除: android:textAllCaps="true"