Android 的屏幕滚动操作不如 iPhone 流畅顺滑,是啥原因导致的
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 的屏幕滚动操作不如 iPhone 流畅顺滑,是啥原因导致的相关的知识,希望对你有一定的参考价值。
主要有三个原因一,速度曲线。
当用户滑动界面然后松手,这时界面会继续滑动,然后速度减小,直到速度为0时停止。ios下速度减小的这个过程比较慢,尤其是快要停的时候是慢慢停的,视觉上有种很顺滑的感觉;android下则从松手到停要快很多,相比之下有种戛然而止的感觉。
二,帧率。
绝大部分时间两者都能保持60FPS左右的满帧率。但都会有偶尔的掉帧。并且Android上要比iOS上严重很多。
三,触摸响应速度。
从手指碰到触摸屏,到屏幕上显示处理这次触摸产生的画面,是需要时间的。时间越短感觉越跟手。而iOS的触摸屏的处理时间要比一般的Android手机快,在软件系统层面,Android的显示机制是app-->SurfaceFlinger-->Display,这比传统的app-->Display多了一步,主要基于这个原因,画面最终输出到屏幕要比传统的方式慢一帧(16.7ms)。 参考技术A 优先级的问题,iPhone在滑动屏幕的时候基本是停止渲染的,而安卓会一直在后台开进程加速渲染,所以在滑动的时候资源占用比iPhone厉害,因为iPhone触控优先级很高,但是iPhone某些软件也会在滑动的时候渲染内容的,那些会发现,和安卓没什么区别,纯手打,以前的iPhone自带浏览器就可以知道,开一个要加载很久的网页,加载,当手指触摸屏幕的时候网页就停止加载了,也就是内容停止渲染,所有系统资源来计算滑动操作,而换到安卓. 参考技术B 硬件和软件层面,苹果四专门的为用户做的视觉优化的系统,安卓就是纯粹的堆硬件,其实你用安卓高端手机,滑动不卡本回答被提问者采纳 参考技术C iPhone依靠的是固件追答
不会卡顿
不会产生多余垃圾
不会有病毒
代价就是
他就比那种老式电话机灵活一点
安卓则是个系统
类似于,windows
屏幕滚动时IOS iPhone标签移动
【中文标题】屏幕滚动时IOS iPhone标签移动【英文标题】:IOS IPhone label moving when screen scrolled 【发布时间】:2011-11-07 11:44:45 【问题描述】:我很感激这可能是人们需要代码示例才能正确回答的问题,但不幸的是,我目前手头没有它们,所以我想问问人们的经验,以及他们以前是否见过这样的事情。
我有一个view
,里面有一个 UITableView,有一堆单元格,在这个特定的视图上,如果我向下滚动屏幕,那么最后一个单元格中的标签会叠加在第一个标签的顶部细胞。
它只发生在第一个和最后一个单元格出现或不出现在 UITableView
中的视图上,具体取决于某些值是否在 JSON 提要中。
如果两个单元格都在UITableView
中,那么当您滚动时,底部单元格的标签会出现在顶部单元格的顶部。底部单元格的标签仍然存在,顶部单元格的标签仍然存在 - 只是底部的标签位于其顶部!
那么,有没有人见过这样的事情,如果是这样,有没有明显的事情我做错了这种情况的症状?
【问题讨论】:
你的 cellForRowAtIndexPath 会有问题,你可能每次都在添加一个标签作为子视图,即使一个单元格已经出队。这是关于 SO 的大约 80% 的 UITableView 问题的答案。 您可能是对的,将检查并查看。谢谢。 看起来这就是问题所在,但现在的问题是如何检查单元格是否出队。 如果你包含你的 cellForRowAtIndexPath 方法,你会得到一些建议,我敢肯定 【参考方案1】:如何查找出队的单元格?
查看[UITableViewCell prepareForReuse]
,您可以在此处删除之前插入的子视图,然后再添加新的子视图。
这是 Apple 文档:
http://developer.apple.com/library/ios/documentation/UIKit/Reference/UITableViewCell_Class/Reference/Reference.html#//apple_ref/occ/instm/UITableViewCell/prepareForReuse
【讨论】:
以上是关于Android 的屏幕滚动操作不如 iPhone 流畅顺滑,是啥原因导致的的主要内容,如果未能解决你的问题,请参考以下文章