如何有效地实现混合 HTML 和原生面板的提要 UI?
How to efficiently implement feed UI of mixed HTML and native panels?
我想实现一个主视图类似于异构 Twitter 提要的应用程序 -- 提要中的一些卡片将呈现 HTML,其他卡片将在本机呈现。为什么:
- 提供原生外观
- 提供一些 openGL 性感
- 确保 feed window 本身不是 webview 并进行本地管理以避免 HTML-jitter-suck)
- 确保无需更新应用程序即可将新类型的内容推送到应用程序。
我怀疑拥有很多独立的 webview 组件会非常昂贵,特别是因为每个 HTML 卡将共享一组通用的 CSS 和 JS。
那么,有没有办法针对这种情况进行优化?因为我有很多 HTML 卡片,所以我希望它们共享公共资源。例如,WebView 是否可以支持多个 DOM windows,其中每个都可以定位到我的提要视图中单独的 Android 面板? (或者我可以在多个 WebView 之间共享一个 HTML 执行组件吗?)
像这样...
(注意。HTML 卡片都包含交互式元素——渲染为图像无济于事)
可以为多个 WebView 共享单个 webkit WebViewClient 吗?
据我所知,不,您不能使用单个 WebView 来提供多个物理视图。
但是,您描述的内容看起来像 RecyclerView 中的卡片(您描述的内容 'native container')。
在那种情况下,您只会拥有与可见卡片一样多的 WebView(加上,可能有 2 个缓冲在屏幕外),所以一次只有几个,而不是数百个。
如果有必要,您可能可以通过重新使用一小组 WebView 并在适配器的绑定阶段将它们重新分配给项目 UI 来节省一些渲染时间。
是的,您当然可以在多个 WebView 之间共享一个 WebViewClient - 这就是为什么几乎所有 WebViewClient 的方法都将 WebView 作为第一个参数的原因。
我想实现一个主视图类似于异构 Twitter 提要的应用程序 -- 提要中的一些卡片将呈现 HTML,其他卡片将在本机呈现。为什么:
- 提供原生外观
- 提供一些 openGL 性感
- 确保 feed window 本身不是 webview 并进行本地管理以避免 HTML-jitter-suck)
- 确保无需更新应用程序即可将新类型的内容推送到应用程序。
我怀疑拥有很多独立的 webview 组件会非常昂贵,特别是因为每个 HTML 卡将共享一组通用的 CSS 和 JS。
那么,有没有办法针对这种情况进行优化?因为我有很多 HTML 卡片,所以我希望它们共享公共资源。例如,WebView 是否可以支持多个 DOM windows,其中每个都可以定位到我的提要视图中单独的 Android 面板? (或者我可以在多个 WebView 之间共享一个 HTML 执行组件吗?)
像这样...
(注意。HTML 卡片都包含交互式元素——渲染为图像无济于事)
可以为多个 WebView 共享单个 webkit WebViewClient 吗?
据我所知,不,您不能使用单个 WebView 来提供多个物理视图。
但是,您描述的内容看起来像 RecyclerView 中的卡片(您描述的内容 'native container')。 在那种情况下,您只会拥有与可见卡片一样多的 WebView(加上,可能有 2 个缓冲在屏幕外),所以一次只有几个,而不是数百个。
如果有必要,您可能可以通过重新使用一小组 WebView 并在适配器的绑定阶段将它们重新分配给项目 UI 来节省一些渲染时间。
是的,您当然可以在多个 WebView 之间共享一个 WebViewClient - 这就是为什么几乎所有 WebViewClient 的方法都将 WebView 作为第一个参数的原因。