超慢的表格布局性能

2024-05-11

我遇到了糟糕的 TableLayout 性能。我在这里读过一些帖子,谈论同样的事情......

Android 动态创建表 - 性能不佳 https://stackoverflow.com/questions/9813427/android-dynamically-created-table-bad-performance

我在已经很复杂的布局中使用了表格布局。我已经使用了很多视图,当然,我使用的视图越多,性能就越差,这是显而易见的,但我想知道与其他小部件相比,性能怎么可能这么差。

就我而言,假设具有 5*5 文本视图(行中只有纯文本视图)的表格布局会导致系统冻结甚至超过 1.5 秒,有时仅通过更新 TextView 即可。我不是在谈论渲染整个表格,而是只是更新表格布局内的一个文本视图。

我怀疑是setColumnsStretchable(),但即使将其设置为从不拉伸,性能也是一样的。

public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
    final TextView target=(TextView)seekBar.getTag();
    target.setText(""+progress);
}

这是我用来更新单元格的代码。如您所见,它是 SeekBar 侦听器的一部分。我什至不需要 findView() 或任何东西,因为我将目标文本视图存储为搜索栏的标签。

因此,移动搜索栏会导致跳跃:需要超过一秒!单独执行 setText() 。如果我更新不在表内的任何其他文本视图,则会立即更新,如预期的那样。

如果我的桌子是 10*10,那么,大约需要 3 秒!

根据您的经验,TableLayout 是禁忌还是我可能做错了什么?也许行或单元格布局参数有一些神奇的值?

提前致谢。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

超慢的表格布局性能 的相关文章

随机推荐

  • 如何列出 Git 1.7+ 中的所有远程分支?

    我试过了git branch r 但这仅列出我在本地跟踪的远程分支 如何找到我没有的列表 命令是否列出对我来说并不重要all远程分支或仅那些未跟踪的分支 For the vast majority 1 of visitors here th
  • 使用 match every contains 进行 json 数组项断言

    我想在响应数组下的每个项目中添加包含 训练 的技能数组断言 我怎样才能使用匹配每种格式来做到这一点 match each response contains password abc123 不使用 JsonPath 表达式 我预计下面的示例
  • 为什么 BinaryFormatter 可以序列化 Action<> 但 Json.net 不能

    尝试序列化 反序列化 Action 尝试我的 1天真 JsonConvert SerializeObject myAction JsonConvert Deserialize
  • 将文本数据作为表单中的文件发布

    是否可以从 html 表单中发布一些作为文件输入类型的字符串的 XML 数据 情况是我有一个像这样的表格 form action target php method post enctype multipart form data gt
  • OpenCL 何时使用全局、私有、本地、常量地址空间

    我正在尝试学习 OpenCL 但我很难决定使用哪些地址空间 因为我只找到组装的资源声明这些地址空间是什么 但没有声明它们为什么存在或何时使用它们 资源至少太分散了 所以带着这个问题我希望把所有这些信息汇总一下 所有地址空间是什么 它们为什么
  • jquery 中 DOM 元素的手动垃圾回收是否可以提高浏览器性能?

    在性能范围内 删除不再需要的元素是否有意义 或者浏览器是否对代码中未进一步引用的 dom 元素执行自动垃圾收集 some element fadeOut 1000 function el el remove lt does this mak
  • 如何知道我的 Xcode iPhone 项目是否使用 ARC?

    我想知道我的 Xcode iPhone 项目是否正在使用 ARC 但我不记得在创建项目时是否勾选了该框 我怎样才能得到这些信息 选择您的项目 然后构建设置 寻找Objective C 自动引用计数 in the Apple LLVM 编译器
  • 为单个列表注册事件处理程序

    我有一个共享点事件处理程序 我想为单个列表激活它 而不是站点中的所有列表 我该怎么办 得到答案了 我们需要运行这段代码 也许在控制台应用程序中 不过 我仍然不知道如何在添加事件处理程序后将其删除 string siteUrl Console
  • 如何更改Python使用的SQLite版本?

    我在 Debian 9 12 上安装了 Python 3 8 和 SQLite 3 16 2 并且需要升级到较新版本的 SQLite 我已经下载并编译了 SQLite 网站上提供的合并 并将其放入 usr bin 所以当我这样做时 sqli
  • 通过列计数拆分时重复表头

    我正在 Magento 中输出产品列表 作为包装在表格中的简单列表 由于此列表可能会很长 100 个以上产品 因此我使用了来自这里的想法 https stackoverflow com questions 21001803 how to h
  • Solr PatternReplaceCharFilterFactory 未替换为指定模式

    所以我对 Solr 很陌生 但我尝试使用 PatternReplaceCharFilterFactory 对将存储的电话号码字符串进行一些预处理 这是该字段的配置
  • 在 xcode 中,有没有办法验证所有 NSLocalizedStrings 的密钥?

    除了运行其中包含 NSLocalizedString 的每个代码路径之外 是否有一种方法可以验证所有 NSLocalizedString 是否都具有实际存在于所有捆绑包的所有 Localized strings 文件中的密钥 例如 一个键中
  • FluentAssertions ShouldNotThrow 无法识别异步方法/Func

    我正在尝试检查异步方法是否抛出具体异常 为此 我使用 MSTEST 和 FluentAssertions 2 0 1 我已经检查过这个关于 Codeplex 的讨论 http fluentassertions codeplex com wo
  • 在 try 中使用零合并运算符? for 抛出并返回可选值的函数

    我想在以下两种情况下使用 nil coalescing 运算符设置默认值 函数抛出错误 函数返回 nil 请看一下下面的代码片段 我有以下问题 为什么 item1 为零 item1和item2的初始化有什么区别 enum VendingMa
  • 自定义 php 论坛 - 显示新的/未读的帖子

    我自己使用 php 编写了一个自定义论坛脚本 我决定不使用 phpbb 和其他工具 因为我希望我所做的事情具有 100 的灵活性 不过我遇到了一个问题 如何向用户显示帖子是否是新的 未读的 我想到了两种解决方案 1 饼干 2 数据库 我不想
  • mocha——手表和猫鼬模型

    如果我让 mocha 监视更改 每次保存文件时 mongoose 都会抛出以下错误 OverwriteModelError 无法覆盖Client模型一旦编译 我知道猫鼬不允许两次定义模型 但我不知道如何让它与mocha watch clie
  • 如何调试.NET Windows Service OnStart方法?

    我用 NET 编写的代码仅在作为 Windows 服务安装时才会失败 该故障甚至不允许服务启动 我不知道如何进入 OnStart 方法 如何 调试 Windows 服务应用程序 http msdn microsoft com en us l
  • 如何在查询中生成序列号?

    我们使用 PostgreSQL v8 2 3 如何在查询输出中生成序列号 我想显示查询返回的每一行的序列号 例子 SELECT employeeid name FROM employee 我希望生成并显示从一开始的每一行的序列号 你有两个选
  • 如何使用 javascript 禁用组合键?

    I would like to disable view source shortcut key for IE using JavaScript To disable Ctrl C I am using the following func
  • 超慢的表格布局性能

    我遇到了糟糕的 TableLayout 性能 我在这里读过一些帖子 谈论同样的事情 Android 动态创建表 性能不佳 https stackoverflow com questions 9813427 android dynamical