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

Android性能优化(一)

所谓主题优化,就是应用程序冷启动时候(1~2阶段),设置启动窗口主题。 因为现在 App 应用启动都会先进入一个页(LaunchActivity) 来展示应用信息。...> [70] (无白屏,不过从点击到App仍然存在视觉延迟~) 设置图片主题 为了更顺滑无缝衔接我们页,可以启动 Activity Theme中设置页图片,这样启动窗口图片就会是页图片...//所以页展示时间为 2000ms - diffTime. } 所以就可以动态设置应用显示时间,尽量让每一部手机展示时间一致,这样就不会让手机配置较低用户感觉漫长难熬页时间...另外因为页中仍然有剩余展示时间,所以在这个时间段里如果用户已经下载好了图片并且图片完整,就可以显示广告页。...方法,绘制之前裁剪一个区域,这样绘制时候只在这区域内绘制,超出部分不会绘制出来。

2.5K20

Android 12 SplashScreen API快速入门

什么是SplashScreen SplashScreen其实通俗点讲就是指界面。...这个我们国内开发者一定不会陌生,因为绝大多数国内App都会有界面这个功能,很多App还会利用界面去打广告。...下图是QQ界面: 然而在海外,界面其实并不太常见,甚至Google之前都不推荐我们App中加入界面,所以这次Android 12中官方推出了SplashScreen功能还是让我有点意外...不过这次官方SplashScreen和我们国内常见界面还不一样,它并不是为了让你在这个界面打广告,而是为了App启动初始化时候避免让用户一个空白界面等待过长时间。...,效果如下图所示: 需要注意,这个属性以及接下来要介绍所有属性都是Android 12系统上新增,所以你应该在一个values-v31专属目录下使用它们。

1.8K10
您找到你想要的搜索结果了吗?
是的
没有找到

全民K歌折叠适配探索

本篇文章主要介绍折叠基础概念及几种适配方案;同时涵盖了全民K歌折叠适配探索与实际效果。 折叠 折叠,顾名思义,其显示采用柔性技术,可在使用时对屏幕进行折叠、展开操作。...获取屏幕高宽问题 全民K歌中有一个全局工具类:DisplayMetricsUtil ,其主要负责全局各项基础单位转化与获取屏幕高宽。...此时,我们依然使用工具方法去拿值,得到是之前最开始初始化值,而不能拿到当前真实值,所以就算是我们主页展开手机,然后进入详情页依然会出现上述显示异常问题。...更早得到,如果使用Application则会出现得到值不正确情况 正在显示Activity与显示Activity并不相同,其值并非完全一致 正在显示Activity内部值始终跟随正在显示状态...如果 Activity 具有多个显示设备上运行,则用户可以将 Activity 从一个显示移到另一个显示;多个 Activity 可以同时接收用户输入。

2.4K30

功能测试之app测试要点提取与分析

安装中:安装过程中是否可以取消,是否可以正常运行,空间不足响应提示   安装后:是否可以卸载(1)通过桌面卸载(2)通过软件设置卸载   常见bug:ios手机上有个应用安装时安全安装,终止安装后,...竖测试   同时触摸不同位置,同时进行不同操作--异常、退   查看客户端处理情况,是否会crash--崩溃、退、ANR(application not response)--无响应   注意...手机客户端锁时:消息推送是否正常接收   登录状态   退出登录后 .是否接收push推送(根据需求来)   登录用户再去登录:批量接收多条消息推送   当push消息是针对登录用户时候 .需要检查收到...) , 那么在这两个平台都要做兼容性测试;   每个平台不同系统版本   Android版本:6, 7.8以及各个小版本   IOS版本:9、10、11. 12. 13.及其各个小版本   能否适配各种屏幕尺寸...,除了确保中断过程中有合理处理:还需确保中断过后恢复正常   来电、来短信、锁解锁、断网重连、断电、低电量、前后台切换、app切换   手机端硬件上, 如:待机,插拔数据线、耳机、闹铃弹出框提示等操作

2.5K30

android刘海适配(刘海或圆角适配)

收到邮件后,查阅谷歌官方资料,更新SDK。其中UI最大改变就是需要适配刘海。...但是国内厂商为了快速抢占全面手机市场,安卓系统8.1基础上,硬件就弄出了刘海,例如华为nova 3e, oneplus 6, oppo r15, vivo x21,但是系统支持没有更上,没有一个统一...如图: 第二张图就是开启模拟选项后显示切口样式,当然这个缺口是模拟,目前真机普遍刘海高度90px左右,安卓模拟器模拟刘海高度为144px。...第三张图是开启一个应用页没有适配刘海高度时候样子,顶部出现了黑色区域。这个黑色区域是因为刘海缺口导致整个界面整体向下移。...因为我们页一般都是会全屏显示,那我们就需要适配刘海全屏样式了。 坐好了,我开始吹一波了。

1.9K10

Android 启动优化详解

为启动页/页Activity设置theme <activity android:name=".splash.SplashActivity" android:screenOrientation...优化: 预览(今日头条),预览窗口实现成效果,高端机上体验非常好,不过低端机上会拉长总时长(建议Android6.0以上才启用此方案); //优点:避免点击桌面图标无响应 //缺点...:拉长总时长 //(可以配合三方库懒加载,异步初始化等方案使用,减少初始化时长) //1....为启动页/页Activity设置theme <activity android:name=".splash.SplashActivity" android:screenOrientation...子线程install(不推荐): 页开一个子线程去执行MultiDex.install,然后加载完才跳转到主页, 需要注意Activity,包括页中引用到其它类必须在主dex中,

5K85

Android性能优化(一)之启动加速35%

一、前言 随着项目版本迭代,App性能问题会逐渐暴露出来,而好用户体验与性能表现紧密相关,从本篇文章开始,我将开启一个Android应用性能优化专题,从理论到实战,从入门到深挖,手把手将性能优化实践到项目中...[三方组件调用优化示例代码] 注意:2秒停留可以利用,把耗时操作延迟到这个时间间隔里。...五、启动加速之Diagnosing The Problem 本节我们实际定位耗时操作,开发阶段我们一般使用BlockCanary或者ANRWatchDog找耗时操作,简单明了,但是无法得到一个方法执行时间以及更详细对比信息...; 工作线程使用未设置优先级; 信息缓存,重复获取同样信息; 流程问题:例如图每次下载,当次使用; 以及其它细节问题: 执行无用老代码; 执行开发阶段使用代码; 执行重复逻辑; 调用三方SDK里或者...修改广告逻辑为下次生效。

1.2K30

启动优化

为启动页/页Activity设置theme <activity android:name=".splash.SplashActivity" android:screenOrientation...优化: 预览(今日头条),预览窗口实现成效果,高端机上体验非常好,不过低端机上会拉长总时长(建议Android6.0以上才启用此方案); //优点:避免点击桌面图标无响应 //缺点...:拉长总时长 //(可以配合三方库懒加载,异步初始化等方案使用,减少初始化时长) //1....为启动页/页Activity设置theme <activity android:name=".splash.SplashActivity" android:screenOrientation...子线程install(不推荐): 页开一个子线程去执行MultiDex.install,然后加载完才跳转到主页, 需要注意Activity,包括页中引用到其它类必须在主dex中,

3.4K54

vivo官网APP全机型UI适配方案

所以有的应用干脆就直接两边留白,内容区域展示屏幕正中央,这种效果,当然很差。 案例1:某个视频APP页面,做pad上适配,打开之后效果如下,两边大量留白,是不可操作区域。...但是启动activity时候遇到了问题。当我们从横状态A界面启动一个acitivityB界面时,发现B界面先是竖,然后切换到了横(如图1所示)。...(2)折叠或者pad上面,模块3图片1高度也是300px,但是内容不能减少。(3)解决方案就是提供一张原始大图,假如规格为2400px*300px,直板手机上左右进行裁剪,如下图所示。...折叠和pad上面直接进行展示。而裁剪这一步,放在服务端进行,因为客户端做裁剪,比较耗时。(4)为了形象地表示处理后效果,看下下面的示意图即可。...五、我们摆脱困扰了吗5.1 解决原先问题通过前面的介绍,我们知道了,vivo官网团队针对折叠和pad这种大,采取了全屏展示方案,一开始时候,我们遇到问题也得到了解决:(1)开发人员适配成本高了

1.6K30

字节跳动,野心十足,十年有可能打败腾讯成为第二个互联网巨头吗?

风云变化,更新换代,曾经互联网三巨头BAT,已经被后浪推翻。 就以目前情况来看,未来十年,字节跳动有没有可能打败腾讯成为第二大互联网公司呢?...多与微信较量↓↓↓ 飞聊凌晨刚刚上线,立即遭腾讯全面屏蔽封杀。 5 网友评论 一方面,有不少网友对此发表评论,认为头条衍生出来产品娱乐性太强,社交不行,所以说头条不太可能替代腾讯。...一个公司一个品牌,有竞争才会越来越好,对于公司长远发展有利无害。 十年后会是什么样,物竞天择,适者生存。...文末 有任何问题欢迎评论下留言一起讨论~ 这里是一位热爱分享技术程序猿,定期分享Android高级技术、经验及面试专题分享,欢迎大家关注啊~以后还会更新技术干货,谢谢您支持!...Android学习笔记参考(敲黑板!!) “寒冬过”,阿里P9架构分享Android必备技术点,让你offer拿到手软!

1.9K30

APP端测试系列(3)——客户端安全

一、概述 APP测试第三部分之前插播一个新闻《自学黑客薅羊毛,薅出玫瑰金手镯》,一个通过测试APP客户端,绕过验证注册二十万账号,从而获利六万余元最终喜获金手镯“励志”故事: ?...反编译得到一个文件夹,打开其中AndroidManifest.xml文件: ?...查看uses-permission配置项,如这里申请两个系统权限是网络和定位,若应用涉及这两个权限,则不符合要求。...中配置android:debuggable="true"时可以在手机上调试Android程序,若开启了此配置则是不安全: ?...7、截录屏保护 输入口令及其他重要操作处应作防截和防录屏保护,使用adb进行截和录尝试: adb shellscreencap/sdcard/test.png adb shellscreenrecord

2.2K20

Android 选择图片、上传图片之PictureSelector

后来业务需求提升,页面要美,体验要好,便不是那么满足需求了,所幸github上找到PictureSelector(然后当时没多久Matisse就开源了…可以看这里Android 选择图片、上传图片之Matisse...),也不用自己再撸一个了,下面来介绍介绍PictureSelector github https://github.com/LuckSiege/PictureSelector 目前是一直维护...,支持从相册或拍照选择图片或视频、音频,支持动态权限获取、裁剪(单图or多图裁剪)、压缩、主题自定义配置等功能、适配android 6.0+系统,而且你能遇到问题,README文档都有解决方案。...功能特点 功能齐全,且兼容性好,作者也做了兼容测试 1.适配android6.0+系统 2.解决部分机型裁剪退问题 3.解决图片过大oom退问题 4.动态获取系统权限,避免退 5.支持相片...:如:是否裁剪、是否预览图片、是否显示相机等 11.新增自定义主题设置 12.新增图片勾选样式设置 13.新增图片裁剪宽高设置 14.新增图片压缩处理 15.新增录视频最大时间设置 16.新增视频清晰度设置

3.1K10

金三银四季招聘季,APP测试面试题温新一遍

相同点:都离不开测试基础知识和测试原理。具体包括以下几个方面。 测试用例,均使用边界值分析法,等价类划分法等。 多数采用黑盒测试,来验证业务功能是否能得到正确应用。...四 App退通常是什么原因造成? APP退原因可能是: 缓存垃圾太多,Android系统特性,如果长时间不清理垃圾文件,会导致越来越卡,甚至退。 运行程序太多,导致内存不足。...对于浏览器而言,由于程序启动时还会有教育页和下发,因此启动时间获取显得尤为重要。...内存使用: Android系统中,每个APP进程除了同其他进程共享(shared dirty)外,还独用私有内存(private dirty),通常我们使用PSS(=私有内存+比例分配共享内存)来衡量一个...adb bugreport 12.

1K21

金三银四季招聘季,APP测试面试题温新一遍

多数采用黑盒测试,来验证业务功能是否能得到正确应用。 需要检查界面布局,风格,按钮是否美观、简洁,是否统一。 测试页面载入和翻页速度、登录时长、内存是否溢出等。 测试应用系统稳定性。...四 App退通常是什么原因造成? APP退原因可能是: 缓存垃圾太多,Android系统特性,如果长时间不清理垃圾文件,会导致越来越卡,甚至退。 运行程序太多,导致内存不足。...对于浏览器而言,由于程序启动时还会有教育页和下发,因此启动时间获取显得尤为重要。...内存使用: Android系统中,每个APP进程除了同其他进程共享(shared dirty)外,还独用私有内存(private dirty),通常我们使用PSS(=私有内存+比例分配共享内存)来衡量一个...adb bugreport 12.

94430

折叠丨华为专家深度解读折叠连续性和拖拽适配介绍

折叠手机出现,满足了用户对大屏幕追求,但卓越用户体验更离不开应用适配与功能创新。距离Mate X面世已经一年时间,应用适配情况如何?适配过程中有哪些经验可以参考?...避免调用finish()或其他自行终止进程,否则会导致应用程序设备折叠或展开时出现关闭、退等问题。...随着屏幕越来越大,分屏、悬浮窗使用场景也随之增多,拖拽价值更加显著。 2.1 拖拽功能技术框架 拖拽属于Android框架一部分,可以让用户使用图形化拖放手势,将数据从一个视图移至另一个视图。...2)安卓模拟器 从Android Studio 3.5Canary版本开始,开发者可创建一个运行Q Beta 2版本折叠虚拟设备,其支持硬件配置分别为7.3英寸(折叠后为4.6英寸),以及8英寸(...下载地址:https://developer.android.google.cn/studio/preview 3)屏幕 非折叠手机上可以通过命令修改手机屏幕分辨率来进行模拟调试,详细方法可见下图

99720

IOS App测试那些坑和解决方案

苹果系统跟 Android 系统完全不一样,测试起来也有很大不同。 测试中常见,如 xcode 版本问题,打包证书问题,退无法重现,不好抓 log, 上架被拒问题等等。...本文总结一些常见坑,可以完美绕过去。 退 Android 手机退,可以用 adb 很轻易拿到 log. IOS 系统主要是沙盒,你没法很轻松就拿到 log.... iPhone 手机上软件发生退或开发 iOS 应用程序时出现退,一般都会自己或系统生成崩溃日志,那么我们从哪里以及怎么获取到崩溃日志呢?...登录 itunesconnect、https://itunesconnect.apple.com [1]进入被拒绝 APP 页面 点击解决 iOS 问题,进入查看原因。...给 iPhone 截并保存,更多功能请自己 GitHub 上查找https://github.com/openatx/facebook-wda[2] import wdac = wda.Client

4.1K40

Android平台RTMP推送模块如何对接NV21、YV12、RGB、YUV等编码前数据

​ 前言 我们在对接Android平台摄像头或者屏幕采集、编码打包推送场景时候,随着采集设备不同,出来数据也是多样化,比如NV21、YV12、RGB、YUV等,更有图像数据甚至是翻转或者倒置,...Android设备前后摄像头数据: Android自带camera摄像头数据对接是最基础,需要考虑是摄像头方向问题,比如横、竖、还有部分定制设备home键左侧情况,相对来说处理比较简单,直接上接口...* LANDSCAPE = 2; //横 home键右边情况 * LANDSCAPE_LEFT_HOME_KEY = 3; //横 home键左边情况...支持RGBA数据接入(支持裁剪后数据接入,主要用于同场景): RGBA主要用于屏幕共享场景下。 /** * Set live video data(no encoded data)...由此可见,部分公司或开发者提到,一个Android平台RTMP推送模块只要几个接口,化繁为简几乎是不可能一个产品迭代,必然需要付出很大精力和代价。 ​

59820

面试官:今日头条启动很快,你觉得可能是做了哪些优化?

方案1:子线程install(不推荐) 这个方法大家很容易就能想到,页开一个子线程去执行MultiDex.install,然后加载完才跳转到主页。...需要注意Activity,包括页中引用到其它类必须在主dex中,不然MultiDex.install之前加载这些不在主dex中类会报错Class Not Found。...所以这种方案缺点很明显: MultiDex加载逻辑放在页的话,页中引用到类都要配置主dex。...跳转到加载dex界面,展示一个loading加载框几秒钟 跳转到页 实际上是不是这样呢,用4.4机器试下?...总结一下这篇文章主要涉及到哪些内容: 应用启动流程 页优化 MultiDex 原理分析 ClassLoader 加载一个流程分析 热修复原理 MultiDex优化: 介绍了两种方式,一种是直接在页开个子线程去加载

1K30

Android性能优化之启动加速35%

一、前言 随着项目版本迭代,App性能问题会逐渐暴露出来,而好用户体验与性能表现紧密相关,从本篇文章开始,我将开启一个Android应用性能优化专题,从理论到实战,从入门到深挖,手把手将性能优化实践到项目中...注意:2秒停留可以利用,把耗时操作延迟到这个时间间隔里。...五、启动加速之Diagnosing The Problem 本节我们实际定位耗时操作,开发阶段我们一般使用BlockCanary或者ANRWatchDog找耗时操作,简单明了,但是无法得到一个方法执行时间以及更详细对比信息...; 工作线程使用未设置优先级; 信息缓存,重复获取同样信息; 流程问题:例如图每次下载,当次使用; 以及其它细节问题: 执行无用老代码; 执行开发阶段使用代码; 执行重复逻辑; 调用三方SDK里或者...修改广告逻辑为下次生效。

76010

一起来做个拜年App吧!

可以认为分成两部分, 先是一个页, 然后再是滑动页. ? 效果图 ---- 页 ? 布局图 页不难做, 关键是动画设置. 直接上代码....之后还要监听下动画结束, 结束之后调用下一个activity并且关闭当前activity, 然后就到了滑动页. ---- 滑动页 来看看滑动页布局代码, 因为有些视图是代码中生成, 所以布局图看不出效果...android:paddingLeft="12dp" android:paddingRight="12dp" android:text="@string/bt_start...有一个麻烦点就是说, 要等视图绘制完成了我们才可以计算出两个小圆点之间距离, 但是我们现在在onCreate之中, 所以我这里加了一个监听, 绘制(onLayout)完成会回调我们这里加监听, 当然我们监听以此就可以了...大家完全可以代码基础上加上更多有趣东西, 比如播放语音啊, 贴上照片啊, 或者改成情人节告白App也是妥妥哦.

61620
领券