【问题标题】:Unresponsive touch in android webviewandroid webview中的无响应触摸
【发布时间】:2013-12-13 11:08:31
【问题描述】:

我需要在我的 android 应用程序中显示代表用户生物数据的四个实时平滑图。我尝试了所有免费的 android 库,但它们不如 javascript 库那么流畅。所以我决定在webview中使用highcharts js。

四个图表在同一个屏幕上运行流畅。但是 webview 不能快速识别触摸事件。我尝试使用硬件加速、触摸事件等,但没有帮助。

每当我触摸 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 图表或按钮的触摸都不会很快起作用。我正在从 assets 文件夹加载 html/js/css。

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

【问题讨论】:

  • 你试过使用phonegap吗?
  • 我的大部分应用程序已经使用 Android Java SDK 开发,因此切换到 phonegap 是不可能的。

标签: javascript android webview highcharts


【解决方案1】:

让您的应用出现重要延迟可能表明您可能正在 UIThread 中做一些艰苦的工作,您可能应该将这些工作分开在一个线程或一个 AsyncTask 中。

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

我强烈建议安装 Eclipse Memory Analyzer Tool(假设您使用 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/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-23
    • 1970-01-01
    • 1970-01-01
    • 2016-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多