Edittext“滞后”android

问题描述 投票:2回答:6

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

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

我究竟做错了什么?

android android-edittext
6个回答
6
投票

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

你猜怎么着?它完全修好了!!

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

之前:

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

后:

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

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


0
投票

你在使用模拟器吗?

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


0
投票

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


0
投票

编辑AndroidManifest:

我的旧代码

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

我的新代码

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

我刚删除了targetSdkVersion,滞后就消失了。


0
投票

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


0
投票

在我的例子中,问题是XML上的活动(作为对话框)的背景绘制,它太沉重了。改变它,工作正常。

© www.soinside.com 2019 - 2024. All rights reserved.