Edittext“滞后”android

时间:2010-11-01 14:39:27

标签: android android-edittext

第一次关注edittext视图时,我发现在我可以在文本框中写入任何内容之前会有一两秒的延迟。

我注意到这种行为甚至在没有任何代码的应用程序上,而不是初始化应用程序的nessecary。

我做错了什么?

7 个答案:

答案 0 :(得分:6)

我已经立即为我解决了这个问题;我在DDMS中看到,在输入文本时发生了大量的重绘和重新计算,并且调用了很多关于RelativeLayouts的信息。所以,我检查了我的布局;我有一些Multi-Line EditText是RelativeLayout的直接子项。所以,我把它们包装成一个线性布局,并在LinearLayout指定我想要的宽度/高度,而不是每个EditText。

猜猜是什么?它完全修好了!!

(下面,一些代码......请记住,这只是一个近似值。不要尝试复制/粘贴)

<强> BEFORE:

<RelativeLayout>
    <EditText
        android:layout_width="wrap_content" />
    <EditText
        android:layout_width="wrap_content" />
</RelativeLayout>

<强> AFTER:

<RelativeLayout>
    <LinearLayout
        android:layout_width="wrap_content" >
        <EditText
            android:layout_width="fill_parent" />
        <EditText
            android:layout_width="fill_parent" />
    </LinearLayout>
</RelativeLayout>

将EditText包装成LinearLayout,并将动态布局控件放弃到LinearLayout。 这是一个惊人的,即时的改进。

答案 1 :(得分:0)

您使用的是模拟器吗?

这种情况在您使用模拟器时很常见,无论调试模式如何......至少从我(有限)的经验到目前为止。在真实手机上试用你的应用程序,看看会发生什么。

答案 2 :(得分:0)

我关闭了USB调试并卸载了一些键盘。好像现在工作正常。谢谢大家。

答案 3 :(得分:0)

编辑AndroidManifest:

我的旧代码

< uses-sdk android:minSdkVersion="8" android:targetSdkVersion="21" />

我的新代码

< uses-sdk android:minSdkVersion="8" />

我刚删除了targetSdkVersion并且延迟消失了。

答案 4 :(得分:0)

在我的情况下,症状是相同的,出现键盘时出现延迟,并且在键入字母时逐渐出现。 解决方案是因为我在RelativeLayout中放置了一个背景图像,当我做了一个测试,考虑到后台工作并停止延迟,所以我进入了一个在线网站,减少了照片,然后从93kb减少到50kb并且工作得很好。 / p>

答案 5 :(得分:0)

在我的情况下,问题是XML上的活动(作为对话框)的 background-drawable ,它太重了。更改它,效果很好。

答案 6 :(得分:0)

在我的情况下,滞后是因为我曾经在应用程序的活动的Intent putExtra()中传递大量的序列化对象。这些将继续留在内存中并引起问题。