我正在撰写类似于QuickEdit和Turbo Editor的文字编辑器。
然而,我遇到的问题是,当我的EditText处理大量代码行时,它变得更慢并且滞后。
从this question我发现在我的情况下我应该创建一个自定义的EditText,然后从this和this我建议我应该覆盖onDraw()
和{{ 1}}方法,但我不明白如何将它应用于EditText,而不是TextView。
阅读消息来源也没有给我答案:我找不到可能提高自定义EditText性能的行。
长话短说:我正在寻找关于如何针对大量代码行优化EditText(10 000<)的方法和详细解释。
答案 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
内。请改用RelativeLayout
。 LinearLayout
上的固定宽度也会提升性能。它可以防止重新计算和重新绘制布局。