2013-12-13 65 views
0

我需要显示四个实时平滑图表,代表我的android应用程序中的用户biodata。我试过每个免费的Android库,但他们不像他们的JavaScript对应。所以我决定在webview中使用highcharts js。android webview中无响应的触摸

同一屏幕上的四个图表可以正常工作。但是webview不能快速识别触摸事件。我尝试玩H/W加速,触摸事件等,但它没有帮助。

每当我触及到的WebView logcat的一个按钮,说: -

"12-13 16:13:37.436: V/WebViewInputDispatcher(9308): blockWebkitDraw" 
"12-13 16:13:37.441: V/WebViewInputDispatcher(9308): blockWebkitDraw lockedfalse" 

触摸按钮多次后,它说: -

"12-13 16:13:37.806: V/WebViewInputDispatcher(9308): blockWebkitDraw lockedtrue" 

所以基本上任何关于highcharts图形触摸或按钮呢不工作很快。我从资源文件夹加载html/js/css。

我需要在webview中执行哪些修复来解决此问题?我认为我的html/js/css代码没有任何问题,因为它在Chrome移动版上运行得非常好。

+0

您是否尝试过使用PhoneGap的? –

+0

我的大部分应用程序都是使用Android Java SDK开发的,因此切换到phonegap是不可能的。 – techgyani

回答

0

让您的应用程序有一个重要的延迟是一个可能的指示器,可能是您在UIThread中做了一些艰苦的工作,您应该在线程或AsyncTask中加以说明。

你没有提到当你触摸图表时会发生什么,但是一些代码可能会澄清这一点。

我强烈建议安装Eclipse内存分析工具(假设您使用Eclipse,否则您应该为您使用的环境找到类似的工具),并将其与DDMS结合使用。这会给你一些瓶颈可能发生的线索。

这是一个关于如何使用它们的一个很好的教程:http://therockncoder.blogspot.com.es/2012/09/fixing-android-memory-leak.html

这一个非常澄清过:http://eclipsesource.com/blogs/2013/01/21/10-tips-for-using-the-eclipse-memory-analyzer/