首页 > 解决方案 > EditText 与时间滞后 - Android

问题描述

我使用 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 内的片段。我怎么解决这个问题?

标签: androidandroid-edittextspannablestringdynamiclayout

解决方案


我认为您应该减少 xml 文件中的android:maxLengthandandroid:maxLines属性。这些是非常大的值,可能会导致明显的滞后。此外,如果这不能单独工作,您应该共享您的 Java/Kotlin 文件,因为问题可能就在那里。


推荐阅读