如何为大量文本(代码)优化自定义EditText?

时间:2018-02-15 13:51:50

标签: android optimization android-edittext

我正在撰写类似于QuickEditTurbo Editor的文字编辑器。

然而,我遇到的问题是,当我的EditText处理大量代码行时,它变得更慢并且滞后。

this question我发现在我的情况下我应该创建一个自定义的EditText,然后从thisthis我建议我应该覆盖onDraw()和{{ 1}}方法,但我不明白如何将它应用于EditText,而不是TextView。

阅读消息来源也没有给我答案:我找不到可能提高自定义EditText性能的行。

长话短说:我正在寻找关于如何针对大量代码行优化EditText(10 000<)的方法和详细解释。

1 个答案:

答案 0 :(得分:0)

您可以尝试实现function socketHandling(address) { "use strict"; var webSocketHost = URIParse(address); engineAddress = webSocketHost; if (LocalTest) { webSocketHost = 'ws://127.0.0.1:8123'; } socket = new WebSocket(webSocketHost); webSocketHost = webSocketHost.split('://')[1]; host = webSocketHost.split(':')[0]; port = webSocketHost.split(':')[1].replace('/socketserver',''); socket.onopen = function (e) { connectionLive = true; keepAlive(); keepAliveStopped = false; $('#serverInfo').text('Connected'); $('#connectionInfo').attr('title', "Connected to " + host + ' on port ' + port + "."); $('#connectionLight').removeClass('disconnected').addClass('connected'); }; socket.onclose = function (e) { serverComms("end", e.code, "", ""); if (connectionLive) { socketReconnect(); } connectionLive = false; $('#serverInfo').text('Not connected'); $('#connectionInfo').attr('title', "Not connected to " + host + ' on port ' + port + "."); $('#connectionLight').removeClass('connected').addClass('disconnected'); }; socket.onmessage = function (e) { serverComms(direction = "inbound", message = e.data, rid = "", type = ""); }; serverComms(direction = "start"); } 的自定义视图。每一行都是一个新单RecyclerView。我不知道表现如何。但是你可以尝试一下。

另一个提示是不要将EditText包裹在EditText内。请改用RelativeLayoutLinearLayout上的固定宽度也会提升性能。它可以防止重新计算和重新绘制布局。