质量管理,
了解我同意 Commonswares 以及所提供答案中所述的几乎所有内容。但是,这个问题似乎暗示您遇到了一个问题(无论是在理解上还是在概念上),并且想要找到/开发更适合您需求的解决方案。
解决您可能会收到的问题和回复:
我相信 Commonswares的有效批评是由于您没有说明提供的平台对象为何或如何不令人满意,也没有说明您为什么或何时相信 Google 说过该对象不可靠。如果您想要更好的反馈,请适当地编辑您的问题以进行交流,这样您就会遇到更少的问题。
此外,正如下面进一步解释的那样,您暗示这是 Android 平台的问题(实际上,几乎直接说明了它)而事实并非如此。在 Web 浏览的广泛范围内有太多考虑因素,无法通过简单的控件(例如 WebView)来完全解决。早在 90 年代,微软的嵌入式 IE COM 对象就面临同样的问题。这是一个不属于任何一个群体的大问题。
解决隐含的问题:
该WebView
对象基本上是一个迷你浏览器,它使用基于与专用浏览器完全不同的参数的高度灵活的渲染代码。这包括从简单的渲染到可交互的 (sp?) 对象(例如此类页面将使用的链接)的所有内容。这个过程很难(因为没有更好的词)以这样一种方式小型化,即能够统一嵌入到各种应用程序中,这些应用程序每次可能具有不同的布局结构和参数。哎呀,这样的引擎即使使用专用的浏览引擎也很难统一编程,导致当前主要浏览器整体之间存在很多差异。
因此,这WebView
并不意味着提供专用浏览器的全部功能,而是在通常执行其他操作的应用程序中显示 Web 交付内容的最有用的方面。当您考虑添加 Javascript 功能或从所述内容交付的基于客户端的处理的安全隐患时,尤其如此。除此之外,每个设备都有可能拥有不同的渲染引擎或相同渲染引擎的不同版本,这与不同设备利用 SQLite 具有不同功能(即外键支持)的方式非常相似。
因此,WebView 是作为一种解决方案提供的,用于显示 Web 交付的内容,但不保证其可扩展性或可用性,除非您纯粹使用它来查看(并可能做出反应)受信任且符合标准的 HTML 代码。一旦您进入现实世界网站的实际实践,您就会意识到 HTML 之所以如此灵活,是因为不同的开发人员在不同的级别上遵守了每个标准。由于 HTML 的主要信条是它可以工作(显示内容),尽管存在潜在的歧义,开发一个完全全面的应用程序嵌入式面向对象解决方案的问题变得更加难以开发。
... 其他移动设备(如 iphone)可以正常运行
这取决于内容。此外,Apple 设备的开发理念与 Android 设备完全不同。Apple 只有少数设备,因此他们可以保证其设备之间的一致性,并选择添加哪些以及何时添加其他功能。例如,第一部 iPhone 没有对 Flash 的原生支持。根据您问题的含义,我认为这未通过“全面”测试。
相比之下,Android 拥有更广泛的设备库。Android 的代码由这些设备的制造商调整和更改,以使他们能够针对其特定设备需求制定更充分的可支持解决方案。Google 不能保证任何给定设备会以任何方式保持其任何或所有代码相同。这造成了进一步的限制,但也创造了其他非常棒的自由。
...他们都使用 webkit。
Chrome 和 Safari 也都使用 webkit。许多开发人员都被他们使用它的方式上的微小差异所困扰。
...在应用程序之外,实际的 android 浏览器运行得很好。
上面已经解决了这个问题。
有没有办法在较低的层次上真正解决android的问题?
同样,这不是android 的问题。如果您对当前实现有特定问题,您可以自由编写单独的解决方案。此外,使网页内容在浏览器中被查看并被提供。最佳实践是定义您需要它具体做什么。您需要WebView
查看任何网页吗?还是只是你的?您当前的渲染有什么问题?您需要客户端脚本吗?
每个工具的制造都考虑到了特定的需求。这甚至对于所谓的“更好”的列表视图也是如此。这些观点旨在解决多个开发人员可能需要的特定需求。在编程(尤其是 OOP)的世界里,几乎没有什么是全面的。如果有的话,我们一开始就不必扩展我们的对象。在查看这样的工具时,请考虑它具体试图解决的需求。
有没有人为Android制作了一个更全面的网络对象?
是的。它们通常显示在您可以下载到设备的其他专用浏览器中。至于它们是否可以访问:就我个人而言,我不知道也不想看。
最后声明
您提出的问题确实不够具体,无法提供真正的解决方案。由于措辞不当,它似乎也采取了敌对立场。如果 CommonsWare 的回答或我自己的回答都没有解决您的问题,请考虑编辑您的问题以添加我们更具体的需求。也就是说,我希望我们的两个答案都能够为您提供一些见解。
希望这可以帮助,
模糊逻辑