客户端WebView的问题有进展么
By ysy960108
at 2016-04-20
1人收藏 • 4589人看过
我用模拟器6.0,一台5.0.2和一台5.1的手机都不显示稍长一点和带表格的主贴,而且貌似bug和图片的关系不是那么明显,另外有的时候加载慢了会显示一瞬间,之后又消失了。
放我的测试和网页版对比
应该是主帖长,所以没显示
带表情的短主贴显示
不带图片,较长的主帖不显示
一张图片主贴和跟帖能显示,但多张图片的长跟帖不显示
- 登录后方可回帖
有没有可能是WebView出了屏幕范围就不显示了,在后面的图片没开始加载的时候会显示,但一旦开始加载就不显示了,我这里连到网站空间的理论延迟就超过100ms,速度也很慢,所以能肉眼看到这个过程
回复#3 @ysy960108 :
如果是分辨率的问题的话,那可能是WebView的内存限制了?
回复#3 @ysy960108 :
我等下试试去Stack Overflow提问好了(多半不会有人答复吧)。
回复#6 @ysy960108 :
啊啊啊,真是一个奇怪的bug。
回复#7 @lincanbin :
能不能从WebView的尺寸上入手
回复#8 @ysy960108 :
撕烤。
回复#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
回复#9 @lincanbin :
并没有。。不知道我专业的教授敢不敢兴趣,然而我只是一个普通的CS专业学生,才接触了一个学期多的java
我也看到了,刚好超出画面的时候跳出来
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
回复#11 @ysy960108 :
我等下更换View的渲染方式试试。
说明下情况,默认渲染用的是LAYER_TYPE_SOFTWARE,View会被存到一个Bitmap里,Bitmap大家都知道是啥玩意,所以内存占用会大得离谱,当显示长帖,申请不到内存渲染一个庞大的View,就爆炸了。
我换成了LAYER_TYPE_NONE,不使用离屏缓冲。
回复#15 @lincanbin :
没问题了,不过日志里现在出现一大堆报错真的大丈夫?
回复#16 @ysy960108 :
Android就这样的,很多都是普通日志,一部分是错误,但是错误的异常基本我都捕获并处理了,所以不会有问题。
你随便用debug模式编译一个Android应用,日志比我这只多不少。
回复#17 @lincanbin :
原来是这样
回复#18 @ysy960108 :
很多日志还是system_process打的,我自己基本不怎么打log,有必要才打。