首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

APP-hybrid页面性能测试的一些知识记录

我们不能认为用浏览器打开该网页得到的数据就算它线上的性能,因为webview的环境,其性能和浏览器还是有所差距的。最近一直做相关工作,积累的一些小经验,这里分享出来。...这里列出一些(多半是针对android,因为ios不越狱就很难获取相关信息): gpu渲染的第一印象 要分析一个页面的卡不卡,可以先看看现在的gpu渲染情况。...说明GPU的渲染是滞后的。不过没关系,你看到的页面同样是流畅的。 gpu的渲染数据 上面的柱状图只能看到一个直观的印象,如果你想获取这些柱状图的数据,需要安装adb开发包。...安装后,插上android手机,在终端运行命令: adb shell dumpsys gfxinfo framestats 具体的参照这篇文章 页面的流畅性 要保证页面滚动和动画的流畅...帧方差就是FPS序列的方差,越小,说明页面滚动越平滑。 FPS黑盒测量 android7.0以下的手机可以用Emmagee软件来进行测试。非常方便,每秒统计一次,直接生成csv以待分析。

2.4K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    同层渲染

    原生组件:iOS、Android 等客户端 Native 组件,如 iOS 中的 UITextField、UITextView,Android 中的 EditText、ListView 等; H5 组件...HTML5 语言编写的 web 组件,如、 等; 相比于 H5 组件,原生组件不仅可以提供 H5 组件无法实现的一些功能,还能提升用户体验上的流畅度...WebView 渲染流程外,如果把 WebView 看成单独的一层,那么原生组件则位于另一个更高的层级。...H5 组件中使用:因为如果开发者在可滚动的 DOM 区域,插入原生组件作为其子节点,由于原生组件是直接插入到 WebView 外部的层级,与 DOM 之间没有关联,所以不会跟随移动也不会被裁减。...这是一个原生的 UIScrollView 的子类,也就是说 WebView 里的滚动实际上是由真正的原生滚动组件来承载的,WKWebView 这么做是为了可以让 iOS 上的 WebView 滚动有更流畅的体验

    1.6K21

    Native和H5分久必合,Weex会带来移动端的巨变吗?

    在2016年双11会场中,Weex覆盖了99.6%(1747/1754)的会场页面,页面的打开速度、滚动的流畅性都保证了较好的用户体验。...Native开发的诸多亮点中,流畅体验和系统调用是最多被提及的,然而,实际上是痛并快乐着。 • 流畅体验体现在页面滚动/动画的流畅性,背后是更好的内存管理和更接近原生的性能。...• Native 有丰富的系统调用能力,而Web的痛点在于:W3C 标准太慢、设备访问能力有限以及API 兼容性问题较严重,如 Geolocation在 Android Webview 中可用性很差...• H5长列表流畅性不够。一个是滚动时的流畅性,技术指标上表现为帧率;另一个是所谓的“黏手感”差,也就是屏幕响应手指操作的变化速度较慢。...• H5大区块的动画流畅性差,典型如Banner和侧边栏等组件。 • H5 WebView滚动过程中懒加载图片会导致“白屏”。

    1.9K00

    混合开发hybrid原理_unity引擎开源吗

    首先,我们先来罗列一下当前市面上,移动端的各种开发方法 1.Native App 纯原生的app开发模式,android(Java)或者ios(Swift,Oc) 优点: 有最好的性能,有最好的体验 缺点...中滑动不流畅 如果有一个滚动容器 scroll-container , overflow:scroll 加一个css属性即可 -webkit-overflow-scrolling:touch;//控制ios...中的惯性滚动 2.滚动穿透 背景页面有滚动的时候,此时有个弹窗出现了,你的手指在弹窗上滑动,你的背景也会跟着滑动。...e.preventDefault() }) 如果是vue写的,直接加一个 @touchmove.prevent 2.2 弹窗内有滚动,背景页面有滚动 要实现的是: 弹窗出现时,背景禁止滚动 弹窗隐藏时...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1.3K20

    关于H5在移动端弹出下拉选项时遮挡输入框的问题

    当光标聚焦到编辑区输入文字时,系统级的输入法键盘弹出,此时,键盘的弹出对webview的高度会有一定的影响,而android和ios对webview的处理有所不同,简单的说就是: android上:在下图中...的高度不会随着键盘的弹出而发生改变,始终是左图蓝色框的高度 综上,当工具栏使用fixed来定位时,在android上,当键盘弹出时webview的高度会减小,所以工具栏会悬浮在键盘之上,也就是说,在android...将工具栏放在顶部,这样改动成本最小,兼容性最好,如果能说服产品,那么推荐这种方式 在ios app端,当键盘弹出时,配置webview的高度为屏幕高度 - 键盘高度,也就是与android保持一致的处理方式...,这种方式不推荐使用,第一个原因是因为这么处理后相当于是改变了ios默认的处理机制,当H5放到其他ios app中使用时,还是会出现同样的遮挡问题;第二个原因是将H5的业务与端的强耦合在一起 在ios...,到这一步即可解决遮挡的问题 如果滚动区的高度大于屏幕的高度,则需要按照如下流程进行处理: 源码 效果如下: 滚动区小于屏幕高度 滚动区的高度与屏幕高度相当 滚动区高度大于屏幕高度

    5.5K30

    开发 h5| Hybrid | 微信小程序 | 实践踩坑总结十六条

    (中招) 2 在safari上,点击其他区域,再在滚动区域滑动,滚动条无法滚动的(中招)。...2 touch: 使用具有回弹效果的滚动,当手指从触摸屏上移开,内容会继续保持一段时间的滚动效果。继续滚动的速度和持续的时间和滚动手势的强烈程度成正比。同时也会创建一个新的堆栈上下文。...1 android问题:打开webview被微信拦截问题 背景 在微信小程序里开发webview h5的时候,在配置了合法域名,域名备案的情况下,出现了 ios 上正常打开,但是在 android 手机上出现了被拦截的情况...webview 被微信拦截,详细解决方案。 关于微信小程序中webview被拦截。我总结了一个详细的方案,供大家参考,也是开发中踩坑实录。...3 小程序问题: scroll-view 不滑动问题 背景 相信很多同学在开发微信小程序的时候都会遇到scroll-view不滑动的情况,造成scroll-view不滑动的原因有会多,横向和竖向不滑动的原因也不同

    2.5K30

    Flutter 1.22 正式版发布

    恰逢移动平台新版本(iOS 14/Android 11)的发布季,此次的版本更新保证了 Flutter 应用在 Android 11 和 iOS 14 上的兼容性,面向 iOS 14,本次更新包括了对...对于Android 11,此次更新包括了多种屏幕适配以及软键盘动画的流畅性优化。...除了对新平台的全力支持外,Flutter 的本次更新也迎来了很多值得分享的话题,包括社区讨论最为热烈的 Android 状态恢复,新的 Material 按钮组件以及国际化和本地化支持与热重载并用等功能...此次更新也包括了全新的导航器(Navigator),稳定版 Platform Views (支持 Google Maps 和 WebView 插件)以及高频率设备下滚动性能的优化,同时,开发工具的更新也迎来了另一番景象...新平台适配 iOS 14 每次 Android/iOS 等平台推出系统的

    46210

    应用宝基于Robotium自动化测试(上)

    3.2 导入测试工程 (1) 使用Eclipse导入项目; (2) 配置Build Path; (3) 配置keystore; 在实际项目中,如果是自家的项目,显然是不希望对被测App进行重签名的,有如下原因...(2) 配置Eclipse的JVM参数 Eclipse的JVM默认设置参数较小,因此可能造成各种卡慢现像,而我们的开发机配置一般较高,可以通过调整JVM参数充分利用机器资源提高Eclipse运行的流畅度.../ 滚动至底部 /向上滚动屏幕 / 向下滚动屏幕 boolean waitForView(int id) / waitForText(String text)等待指定控件出现 /等待指定文本出现...,并安装有Chrome Android版本; (4)用于app debugging:需要Android4.4及以上版本,并将WebView设置为可调试。...App中将WebView设置为可调试,可使用如下代码设置: if(Build.VERSION.SDK_INT >=Build.VERSION_CODES.KITKAT){ WebView.setWebContentsDebuggingEnabled

    2K60

    WebView最基本的使用

    WebView Android内置webkit内核的高性能浏览器,而WebView则是在这个基础上进行封装后的一个 控件,WebView直译网页视图,我们可以简单的看作一个可以嵌套到界面上的一个浏览器控件...view打开,返回true说明 处理 ,返回false说明不处理; onReceivedError(WebView view,int errorCode,String description,String...(View.OnScrollChangeListener changeListener) 滚动条滚动监听,在API 23 加入 注意点: WebView 背景色 需要代码进行设置 ;xml属性不好使;...; WebView 的滚动监听 在API 23 加入了滚动监听的 get/set方法 ; 在API 23之前需要重写 WebView的 protected void onScrollChanged(final...参考文章: http://www.runoob.com/w3cnote/android-tutorial-webview.html

    2.2K60

    webview 和 React Native 中吸顶效果实现

    二 webview 吸顶实现方式 在移动端开发中,webview 已经成为很重要的一部分,比如 app 中内嵌的 web 页面,或者小程序的视图载体,本质上都是 webview。...基于 webview 的混合开发模式非常受到欢迎,回到今天的主题上来,在 webview 中如何实现吸顶效果呢?...因为 scroll-view 上有回调函数 bindscroll ,可以实时的得到滚动的距离,使用滚动距离,可以推导出吸顶临界点,比如: WechatIMG2243.jpeg 通过上面可以推导出 offsetTop...}) } } 这种方式实现吸顶也有一些缺点,就是当快速滑动的时候,比如小程序,因为触发吸顶调用 setData ,setData 底层会调用于 native 通信的方法,这样视图上的更新会滞后...,直观上的感受就是置顶效果滞后。

    3.1K10

    挥别web移动端开发差异和经典坑

    webkit-tap-highlight-color: rgba(0,0,0,0) -webkit-user-modify:read-write-plaintext-only; } iOS滑动不流畅...整体表现就是滑动不流畅,没有滑动惯性。 解决: iOS 5.0 以及之后的版本,滑动有定义有两个值 auto 和 touch,默认值为 auto。...touch: 使用具有回弹效果的滚动, 当手指从触摸屏上移开,内容会继续保持一段时间的滚动效果。继续滚动的速度和持续的时间和滚动手势的强烈程度成正比。同时也会创建一个新的堆栈上下文。...这个事件触发的对象是整个 webview 容器,容器自然会被拖动,剩下的部分会成空白。...解决方法: 刷新需要跳转到的URL,可使用PHP的Header跳转,默认header是不刷新的。

    2.9K20

    【H5】209-可能这些是你想要的H5软键盘兼容方案

    在IOS12 上,微信版本 v6.7.4 及以上,输入框获取焦点,键盘弹起,页面(webview)整体往上滚动,当键盘收起后,不回到原位,导致键盘原来所在位置是空白的。...Android 软键盘弹起表现 同样,在 Android 上,输入框获取焦点,键盘弹起,但是页面(webview)高度会发生改变,一般来说,高度为可视区高度(原高度减去软键盘高度),除了因为页面内容被撑开可以产生滚动...,webview 本身不能滚动。...当输入框位于页面下部位置时,在 IOS 上,会将 webview 整体往上滚一段距离,使得该获取焦点的输入框自动处于可视区,而在 Android 则不会这样,它只会改变页面高度,而不会去滚动到当前焦点元素到可视区...而对于第三方输入法,猜测本身是由于输入法面板弹起后高度计算有误,导致 webview 初始滚动定位有误。其实这两点都是 webview 滚动不到位造成的。

    4K12

    移动端那些戳中你痛点的软键盘问题及解决方法

    Android 软键盘弹起表现 同样,在 Android 上,输入框获取焦点,键盘弹起,但是页面(webview)高度会发生改变,一般来说,高度为可视区高度(原高度减去软键盘高度),除了因为页面内容被撑开可以产生滚动...,webview本身不能滚动。...在 Android 上,监听 webview 高度会变化,高度变小获知软键盘弹起,否则软键盘收起。 // IOS 键盘弹起:当输入框被聚焦时IOS键盘会被弹起 inputRef?....addEventListener('blur', () => { // IOS 键盘收起后操作 }) android 在 Android 上,监听 webview 高度变化,高度变小获知软键盘弹起...webview滚动距离等于ios键盘的高度,达到了吸底按钮吸底的效果。

    8.9K30

    可能这些是你想要的H5软键盘兼容方案

    在IOS12 上,微信版本 v6.7.4 及以上,输入框获取焦点,键盘弹起,页面(webview)整体往上滚动,当键盘收起后,不回到原位,导致键盘原来所在位置是空白的。...Android 软键盘弹起表现 同样,在 Android 上,输入框获取焦点,键盘弹起,但是页面(webview)高度会发生改变,一般来说,高度为可视区高度(原高度减去软键盘高度),除了因为页面内容被撑开可以产生滚动...,webview 本身不能滚动。...当输入框位于页面下部位置时,在 IOS 上,会将 webview 整体往上滚一段距离,使得该获取焦点的输入框自动处于可视区,而在 Android 则不会这样,它只会改变页面高度,而不会去滚动到当前焦点元素到可视区...而对于第三方输入法,猜测本身是由于输入法面板弹起后高度计算有误,导致 webview 初始滚动定位有误。其实这两点都是 webview 滚动不到位造成的。

    8.1K20
    领券