作者DeathDeath (你想洗脚吗)
看板AndroidDev
标题[问题] 大型表格的显示与滑动
时间Thu Mar 14 10:24:55 2013
我编写了一段程式 动态产生一个64x64的TableLayout 以TextView呈现每个表格
然後对每个TextView作属性设定 最後显示
结果是成功了...但是显示速度很慢(约需三秒载入)
而且放在ScrollView底下 滑动起来会很卡
以下是主要程式码
TableLayout ahha = (TableLayout)findViewById(R.id.testtable);
...
for(int i=0;i<64;i++) {
TableRow row = new TableRow(MainActivity.this);
//row.setBackgroundColor(Color.rgb(i*4,i*4,i*4)); ...(1)
for(int j=0;j<64;j++) {
TextView col = new TextView(MainActivity.this);
col.setHeight(10);
col.setWidth(10);
col.setBackgroundColor(Color.rgb(i*4,i*4,i*4)); ...(2)
row.addView(col);
}
ahha.addView(row);
}
上列程式码中 (1)和(2)所得的颜色结果会相同
不过滑动起来(1)的速度比(2)快很多
所以我猜原因在於对每个TextView的属性设定会造成记忆体不足
不知道有没有人遇过类似的问题 是如何解决的?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.66.115.171
※ 编辑: DeathDeath 来自: 59.66.115.171 (03/14 10:25)
1F:→ lovelycateye:你可能可以参考看看官方AdapterView的一些作法 03/14 10:58
2F:→ lovelycateye:你这样是把所有东西都弄好,而Adapter是要显示才弄 03/14 10:58
3F:→ lovelycateye:最接近的可能是GridView吧? 03/14 10:59
4F:→ DeathDeath:小弟是新手 还在摸索怎麽用表格来呈现影像的pixel 03/14 11:00
5F:→ DeathDeath:是不是用你所提到的gridview会比较好呢? 03/14 11:00
6F:→ lovelycateye:影像的pixel? 我的意思是如果真的要自己刻的话 03/14 11:09
7F:→ lovelycateye:作法部分可以参考而已,因为那种作法会比较省记忆体 03/14 11:09
8F:→ lovelycateye:记忆体存的只会有画面上能够显示到的东西而已 03/14 11:10
9F:→ lovelycateye:当然你可以找找看有没有类似的东西 03/14 11:10
10F:→ hellogg1:同意L大的说法,请使用GridView,它需要搭配 Adapter 03/14 11:32
11F:→ hellogg1:若你需要动态的更动textView所呈现的资讯且资讯量很大 03/14 11:33
12F:→ hellogg1:建议在adapter中新增执行绪去读取资料,并使用arraylist 03/14 11:34
13F:→ hellogg1:或Vector之类去存这些资讯 03/14 11:34