Iphone 什么';对于pulse、youtube、NYTimes等应用程序来说,这是一个很好的通用方法?使用UIWebView还是其他什么?

Iphone 什么';对于pulse、youtube、NYTimes等应用程序来说,这是一个很好的通用方法?使用UIWebView还是其他什么?,iphone,uiwebview,youtube,Iphone,Uiwebview,Youtube,这似乎是一个宽泛的问题,但我在这里特别讨论的是在单独的单元格、行等中显示大量内容(图像和一些文本)的应用程序,其中每个单元格都可以异步加载(独立于所有其他单元格) 例如,对于iOS,对每个单元使用uiwebview是否效率太低?这似乎是一个简单的方法,但我不确定性能如何。“Pulse”一次在页面上有一堆单元格,而在iPad上,这可能会达到一个很大的数量。使用较低级别的技术更好,还是使用UIWebView是一个不错的选择 更新:澄清--> 我只想澄清一下,我知道典型的方法是使用UITableVie

这似乎是一个宽泛的问题,但我在这里特别讨论的是在单独的单元格、行等中显示大量内容(图像和一些文本)的应用程序,其中每个单元格都可以异步加载(独立于所有其他单元格)

例如,对于iOS,对每个单元使用uiwebview是否效率太低?这似乎是一个简单的方法,但我不确定性能如何。“Pulse”一次在页面上有一堆单元格,而在iPad上,这可能会达到一个很大的数量。使用较低级别的技术更好,还是使用UIWebView是一个不错的选择

更新:澄清-->
我只想澄清一下,我知道典型的方法是使用UITableView,然后创建表格单元格来保存和显示数据(尽管“Pulse”UI可能更复杂)。我想说的是那些UITableViewCell是否可以保存UIWebView?因此,与其在每个单元格中放置UIImageView和UIExtView等,不如将UIWebView放在那里,并为它们提供URL(可以传递一个参数以指示行),以便在调用cellForRowAtIndexPath或其他内容时加载

如果你说的是YouTube应用,那就不是UIWebview了。常见且更好的方法是将UITableView与自定义UITableCells一起使用。至于异步加载图像,我们实现了“延迟加载”机制。通过这种方式,我们能够保持原生UIView的性能优势完好无损。然而,在UIWebView中,您需要设计基于iphone的网页,这将花费您学习Dashcode工具,或者可能是其他开源css库等

简而言之,UITableView、自定义UITableCells以及惰性加载机制(通过一些线程技术实现)将为您带来所有的好处


希望这个答案能给你一些更好的想法

不要将UIWebView与类似的UITableView一起使用。对于UITableView来说,运动部件太多了

我在那里工作的时候写了《纽约时报》的iPhone应用程序。我只使用UIwebView来显示文章内容。这是因为《纽约时报》的文章和日志帖子的布局极其复杂,以编程方式复制非常困难。(我确实覆盖了应用程序中的一些CSS)

UITableView是一个超高性能的实现,用于平滑的高速滚动。UIWebViews与此相反:沉重、缓慢且内存密集。事实上,web视图实际上运行内部虚拟机和线程(用于JavaScript、渲染等)

请记住,表视图单元格的回收非常积极。当一个单元格从屏幕底部滚动时,它将立即重新配置,作为从顶部滚动的新单元格使用

使用UITableView,您需要创建高度优化的自定义UITableViewCells。单元格中显示的数据应由您主动缓存,这样您就不需要重新计算或执行密集的布局计算。不可缓存的信息(如远程图像)应异步加载(这可能意味着它们显示得更晚)

关于缓存: 纽约时报的应用程序有一个高性能的图像缓存系统。诀窍是在“需要”时尽快请求imge数据,但也要抢先下载一秒钟前需要但不再需要的图像。您也不希望取消部分下载的图像,因为这会浪费已经消耗的带宽。签出NSOperationQueue。它拥有建立这样一个系统所需的大部分杠杆


另一个注意事项:如果你的项目也可以通过Web或Android应用程序访问,请考虑建立一个Web应用程序。

我相信他们使用UIistVIEW并仅仅定制了单元格。如果你打算使用UIWebView,那么你也可以创建一个网站。对,但是你在单元格里放了什么呢。我想我要问的是,将UIWebView放在单元格中是否有意义。您可以在单元格中添加子视图。例如,您可以创建一个UIView,然后添加一些标签视图、图像视图、按钮,然后在用所需内容填充UIView后,将其添加到单元格中。这有意义吗?@xil3->对,我理解这种方法。请看我在上面提出的问题澄清。我想知道在这种情况下,在每个单元格中使用UIWebView是否有意义。看看youtube、纽约时报或pulse。每个单元格独立加载,其唯一目的是显示一点内容,并允许用户单击它以进入更详细的页面。谢谢,我想我在这里真正想问的是,在每个UITableCell中使用UIWebView是否有效,或者这是否因为UIWebView的处理开销过大而效率低下。您描述的延迟加载技术(使用我假设的NSURLRequest等)是有道理的,但功能方面的thosee单元格的行为非常类似于迷你网页,UIWebView自然会浮现在脑海中。谢谢@adam kalpan。。解释得很好