客户端WebView的问题有进展么

客户端WebView的问题有进展么

By ysy960108 at 2016-04-20
1人收藏 • 4589人看过

我用模拟器6.0,一台5.0.2和一台5.1的手机都不显示稍长一点和带表格的主贴,而且貌似bug和图片的关系不是那么明显,另外有的时候加载慢了会显示一瞬间,之后又消失了。

放我的测试和网页版对比



应该是主帖长,所以没显示



带表情的短主贴显示



不带图片,较长的主帖不显示



一张图片主贴和跟帖能显示,但多张图片的长跟帖不显示


19 个回复 | 最后更新于 2016-04-21
lincanbin
2016-04-20
#1

进展很小,因为我忘了这件事……

初步怀疑跟硬件加速有关,或者是同Activity同时存在多个WebView的问题。

我去找找哪里有解决方案。

ysy960108
2016-04-20
#2

刚刚发现一个,我创建了一个320x960的模拟器,然后本来在Nexus5模拟器上显示不出的就能显示了


ysy960108
2016-04-20
#3

有没有可能是WebView出了屏幕范围就不显示了,在后面的图片没开始加载的时候会显示,但一旦开始加载就不显示了,我这里连到网站空间的理论延迟就超过100ms,速度也很慢,所以能肉眼看到这个过程

lincanbin
2016-04-20
#4

回复#3 @ysy960108 :

如果是分辨率的问题的话,那可能是WebView的内存限制了?

lincanbin
2016-04-20
#5

回复#3 @ysy960108 :

我等下试试去Stack Overflow提问好了(多半不会有人答复吧)。

ysy960108
2016-04-20
#6


做了一个更极端的240*1920,跟普通手机比能显示很长的帖子,表格也可以,但更长的还是显示不了



lincanbin
2016-04-20
#7

回复#6 @ysy960108 :

啊啊啊,真是一个奇怪的bug。

ysy960108
2016-04-20
#8

回复#7 @lincanbin :

能不能从WebView的尺寸上入手

lincanbin
2016-04-20
#9

回复#8 @ysy960108 :

撕烤。

lincanbin
2016-04-20
#10

回复#6 @ysy960108 :

Wait.

我打到了一行日志:

04-20 23:49:49.789 26305-26305/com.lincanbin.carbonforum W/View: CarbonWebView not displayed because it is too large to fit into a software layer (or drawing cache), needs 20929024 bytes, only 3686400 available


ysy960108
2016-04-20
#11

回复#9 @lincanbin :

并没有。。不知道我专业的教授敢不敢兴趣,然而我只是一个普通的CS专业学生,才接触了一个学期多的java

ysy960108
2016-04-20
#12

我也看到了,刚好超出画面的时候跳出来

04-20 15:53:15.939 3159-3159/com.lincanbin.carbonforum W/View: CarbonWebView not displayed because it is too large to fit into a software layer (or drawing cache), needs 1873080 bytes, only 1843200 available


lincanbin
2016-04-21
#13

回复#11 @ysy960108 :

我等下更换View的渲染方式试试。

lincanbin
2016-04-21
#15

说明下情况,默认渲染用的是LAYER_TYPE_SOFTWARE,View会被存到一个Bitmap里,Bitmap大家都知道是啥玩意,所以内存占用会大得离谱,当显示长帖,申请不到内存渲染一个庞大的View,就爆炸了。


我换成了LAYER_TYPE_NONE,不使用离屏缓冲。

ysy960108
2016-04-21
#16

回复#15 @lincanbin :

没问题了,不过日志里现在出现一大堆报错真的大丈夫?

lincanbin
2016-04-21
#17

回复#16 @ysy960108 :

Android就这样的,很多都是普通日志,一部分是错误,但是错误的异常基本我都捕获并处理了,所以不会有问题。

你随便用debug模式编译一个Android应用,日志比我这只多不少。

ysy960108
2016-04-21
#18

回复#17 @lincanbin :

原来是这样

lincanbin
2016-04-21
#19

回复#18 @ysy960108 :

很多日志还是system_process打的,我自己基本不怎么打log,有必要才打。


登 录


现在注册

QQ  登 录    Weibo  登 录    GitHub  登 录