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

UIAlertController卡顿的后续演示

UIAlertController是iOS开发中常用的弹窗控件,用于显示提示、警告、确认等信息给用户。它可以在应用程序的任何视图控制器中使用,并且可以自定义标题、消息、按钮等内容。

由于UIAlertController的显示是在主线程中进行的,如果在主线程中执行耗时操作,会导致界面卡顿。为了避免这种情况,可以将耗时操作放在子线程中执行,然后在主线程中更新UIAlertController的内容。

以下是一个示例代码,演示了如何在UIAlertController中执行耗时操作而不导致卡顿:

代码语言:txt
复制
// 创建UIAlertController
let alertController = UIAlertController(title: "提示", message: "正在加载数据,请稍候...", preferredStyle: .alert)

// 显示UIAlertController
self.present(alertController, animated: true, completion: nil)

// 在子线程中执行耗时操作
DispatchQueue.global().async {
    // 模拟耗时操作
    Thread.sleep(forTimeInterval: 2)
    
    // 更新UIAlertController的内容
    DispatchQueue.main.async {
        alertController.message = "数据加载完成"
        
        // 添加按钮
        let okAction = UIAlertAction(title: "确定", style: .default, handler: nil)
        alertController.addAction(okAction)
    }
}

在上述代码中,首先创建了一个UIAlertController,并设置了标题和初始消息。然后通过self.present方法将UIAlertController显示在当前视图控制器中。

接着,使用DispatchQueue.global().async将耗时操作放在子线程中执行。在这个示例中,使用Thread.sleep模拟了一个耗时2秒的操作。

最后,在子线程中使用DispatchQueue.main.async更新UIAlertController的内容。在这个示例中,将消息更新为"数据加载完成",并添加了一个"确定"按钮。

这样,即使在耗时操作执行期间,界面也不会卡顿,用户可以看到UIAlertController的实时更新。

推荐的腾讯云相关产品:腾讯云移动推送(https://cloud.tencent.com/product/umeng_push)、腾讯云移动分析(https://cloud.tencent.com/product/ma)、腾讯云移动测试(https://cloud.tencent.com/product/mtc)。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

WebStrom 可能原因

RT WebStrom是JetBeians家web前端开发神器,相信开发小伙伴都喜欢用这玩意。...不过最近,公司小伙伴用这玩意时候,老是说,我看了一下进程和资源占用,并没有任何一项是100%啊,但是还是给他加了根内存,还是百度了各种办法,但是还是没用 显然问题应该是和百度们出来问题不在一个频道...因为默认WebStrom就是这么设置了。 不过我还是看了目录文件数量,好家伙,我勒个艹,一共是16661,这TMD吓我一跳啊。...然后TMD就想到了这小伙搞是公司项目,肯定是开着SVN,马丹1W多个文件,svn扫一发就不要不要。 果断吧node_modules 给设置为ignore了。 瞬间世界清静了。...我这次教训,给小伙伴们提供了一个解决问题思路,也就是你们平常觉得时候,然后百度谷歌也没用时候,尽量看看这些版本控制工具,文件数量多时候,分分钟就卡死给你看!而且svn性能还比不上git。

66630

【AVD】简述某些视频在线播放时、本地播放时不问题

曾经在业务中遇到过这样问题,我们编码出来视频在 Android、iOS 端,使用 ijkplayer 内核播放器播放时,甚至无法任意定位播放位置,将导致无法播放。...因此,当视频文件被播放时,读取文件也是从头到尾一个包一个包地读入,并且送给对应音频或视频解码器。 因此,我们可以来看看,那些视频数据包中 dts_t 和 pos 关系是怎样。...我拿同事发给我一个在 Android 端用 ijkplayer 播放视频,根据 《用 notepad++ 和 Excel 协助分析媒体文件包》提到方法,做了个 pos 随 dts_t 变化曲线...严谨地说,它音频流 pos 随 dts_t 变化曲线是这样: 对,后面有极个别的包在很大 pos 上。从数据上看,是这样: 它有一个很大断层。...于是就,甚至不能播放了。 能正常播放视频文件 pos 与 dts_t 关系应该是这样: 无论是筛选出音频包还是视频包,或者两者并存情况下,这张散点图都应该是近似一条曲线

3.1K20
  • 解决IDEA问题(Windows和Mac)

    IDEA 最近一段时间经常会在开发时候感觉到 IDEA 很卡,在一个类里上下滚动或者切换类文件时都能够明显感觉到,我以为是我项目打开太多了,毕竟内存优化已经做过了,但是今天实在是被这玩意儿有点烦了...,我尼玛,开发机器 16 个 G 内存,开俩 spring-boot 项目成这个逼样???...最终被逼去检查了一下 IDEA 启动配置文件,看到内容时候我石化了,配置文件就是默认,没改动过。还真是活该就这么,只给分配了几百兆最大内存,可不是成这逼样吗?...这个问题其实和 MyEclipse 以及 Eclipse 一样,首先是内存设置不够大,其次是软件上安装了一些可有可无插件或者开启了一些代码检查之类实时监测,一般都是通过修改这三个设置来使得问题消失...把 128m 和 512m 改成你想要改就可以了,我是分别改成了 1024m 和 2048m,之后如果还,再往大了调,我估计应该也不会再了。

    9.7K41

    分析RTP码流问题工具

    在基于RTP实时码流传输过程中,经常会遇到音视频、花屏现象。对于这类问题,如何定位?...下面这个工具可以帮助分析类似问题: https://github.com/sigusr1/rtp_parse_from_pcap 一、实现思路 从传输角度看,造成、花屏常见原因如下: 接收端收到帧不完整...SEI不当导致花屏问题),不过这些原因导致问题一般都是必现,问题会贯穿在整个视频播放过程中。...rtp_parser/bin目录下analyse.py脚本可以对解析出来txt文件进行分析 a. 它会以图表形式展示传输过程中抖动情况。 b....如下图所示,有一个帧间隔达到了500多ms,肯定会导致现象。 ? 同时命令行会有如下输出,提示帧间隔过大。最后一行对应就是图中波峰: ?

    4.6K40

    DB一次事后优化

    最最重要,居然没有通过pstack抓取到mysql当时进程堆栈信息。...不足引起锁等待事件源,是发生在1861秒前时间点。...总体推论如下: 1861秒前(2021-03-30 18:49:27)发生数据库,15秒后业务重试引起并发使得table_open_cache_instances锁争抢加剧从而影响到MySQL...故障时刻raid相关监控并没有(仅依赖机房5分钟一次巡检),例如: Raid电池低电量监控 Raid电池状态监控 LD Current Cache Policy监控 LD state 监控 磁盘预坏监控...DBA人员技术预案: 制定第三方公司DBA人员抓取现场技术预案: 1.相同规格MySQL服务器有10多台, 任意一台DB出现同样问题,首先确保服务器上MySQLD二进制程序没有被

    1.3K20

    adobe photoshop 基础解决方案

    1.首选项 常规 停用主页屏幕 勾选 使用旧版新建文档界面 勾选 2.首选项 界面 用彩色显示通道 勾选 3.首选项 工作区 以选项方式打开文档 取消 启用浮动文档窗口停放 取消 4.首选项 工具 只勾选使用...shift切换工具 在使用变换时显示参考点 勾得越多越 5.首选项 文件处理 后台存储和自动存储恢复时间间隔 都勾选 6.性能:让photoshop使用最好设置在90%左右,勾选使用图形处理器;历史记录状态...50,高速缓存级别 8 高速缓存拼贴大小 1028K,为下面的情况优化高速缓存级别和拼贴大小:web/用户界面设计,默认/照片,超大像素大小 7.暂存盘也是影响PS运行速度关键设置,设置原则是不设...C盘,挑空间大盘,有限选固态硬盘 8.增效工具,对于有些破解插件来说要取消扩展联网操作: 9.最后一个技术预览最好勾选启用保留细节2.0放大,这是非常有用功能 10,最后,设置完成后,在编辑,选清理

    1.8K20

    解决Android性能瓶颈深度探讨

    在移动应用开发中,Android是一个常见但令人讨厌问题,它可能导致用户体验下降,甚至失去用户。本文将深入探讨Android原因,以及如何通过代码优化和性能监测来提高应用性能。...现象 是指应用在运行时出现明显延迟和不流畅感觉。这可能包括滑动不流畅、界面响应缓慢等问题。要解决问题,首先需要了解可能导致原因。...复杂布局层次会增加UI绘制负担,导致。...结语 Android问题可能是用户体验重要破坏因素。通过了解原因,采取相应优化策略,利用性能分析工具和消息处理日志监测,您可以提高应用性能,使用户体验更加流畅。...问题解决需要不断监测、测试和优化,通过不断发现与解决问题,才能让应用更加流畅。

    42130

    记移动平台崩溃收集分析分享

    首先说一下项目背景,公司最近在做一个移动平台APP开发,贴向于游戏方向,用户量也相对较大,加上项目中几个功能排期比较赶,导致开发中出来了不少问题,主要问题就是APP运行过程中奔溃、、异常等问题。...之前老定位手段效率很低,有的问题需要定位一两天才能解决,确实影响了用户体验。...,不得不说确实是一款牛逼质量跟踪软件,分享给大家。   ...网易云捕是网易内部一直在使用一款质量跟踪系统,APP 质量跟踪、APP加密、漏洞扫描分析、数据统计分析,各种异常实时邮件,短信,微信公众号报警,提供定制化个性化报警等,现已经对外开放,其无论是功能...这个在非常重视APP质量开发团队里很实用,让团队不错过任何一个重要质量问题,后面在尝试时,发现还可以自定义参数,自定义异常上报,这个很实用。

    75380

    、黑屏、发烫!你直播崩了吗?

    image.png 而我们经常在使用移动端直播时候会遇到各种各样问题,比如手机、闪退、黑屏、手机发烫这一系列问题,那我们应该怎样去检查解决这些问题了,小编给大家分享一下处理问题一些方法。...问题描述 首先我们需要明白和黑屏一般都是播放端比较常见问题,而闪退和手机发烫在推流和拉流端都会发生。我们要根据情况更好去定位问题。...问题排查定位思路 1、播放 造成播放端原因主要有三种: 原因一:推流帧率太低 如果主播端手机性能较差,或者有很多占 CPU 后台程序在运行,可能导致视频帧率太低。...原因三:下行不佳 就是观众下载带宽跟不上或者网络很波动,例如直播流码率是2Mbps,也就是每秒钟有2M比特数据流要下载下来,但如果观众端带宽不够,就会导致观众端体验非常。...02.png 如果你是用OBS推流的话,首先看一下推流界面有没有丢帧情况,如果是你上行网络达不到你设置推流码率时候就会出现推流丢帧情况下,这样观众端拉流观看时候就会出现情况。

    3.8K51

    RecyclerView嵌套RecyclerView滑动解决方法

    Android 利用RecyclerView仿淘宝订单页面实现,解决RecyclerView嵌套RecyclerView滑动 ?...,超过一屏,展示效果会有现象,原因就是由于两个RecyclerView存在,使得滑动view滑出当前屏幕释放存在冲突 思路: 参照 Android仿淘宝订单页面效果 Ideaqjjl 分析很详细...,我是从他分析中得到思路,对于Copy党来说,最大痛苦莫过于没有源码,于是整合了一下Ideaqjjl代码,得到了解决思路,将每一行都看作一个Item,相当于用一个RecyclerView解决了用嵌套才能得到结果...,效果真心不错,在此灰常感谢Ideaqjjl提供思路及代码 解决方式: 根据RecyclerView分组设置,将每一行都作为一个Item,就相当于在一个RecyclerView中添加item,这样就可以很好解决问题...以上就是本文全部内容,希望对大家学习有所帮助。

    2.4K10

    Android 性能优化:使用 TraceView 找到元凶

    前言 今天阅读了一篇文章 《Android性能优化(一)之启动加速35%》挺不错,有兴趣可以去看下。 作者在文中为了定位启动耗时问题,使用了 TraceView。...手机很多时候都是由于某个操作过于耗时,在茫茫代码中查找元凶未免太过痛苦,这时候就该体现 TraceView 价值了。...鼠标悬浮到黄色矩形上,会显示对应方法开始、结束时间,以及自己占用和调用其他方法占用时间比例: ?...上图介绍了 TraceView 大致内容: 上半部分显示了 不同线程执行时间 其中不同颜色表示不同方法 同一个颜色越长,说明执行时间越久,如图中主线程 main 空白表示这个时间段内没有执行内容...TraceView 使用场景 在发现某个页面或者操作会卡顿时,可以使用 TraceView 定位问题代码。 比如启动,加载图片列表等情况。

    3.7K60

    【发布公告】您应用么?Bugly全新功能:ANR监控

    亲爱Bugly用户: 您好~ 腾讯Bugly于7月13日正式发布了 iOS、Android ANR(应用无响应)监控上报功能,业内只此一家,别无分店。...通过/ANR异常监控,您可以实时了解用户在使用App过程中发生的卡/ANR问题,有效提升App流畅度,欢迎大家接入使用。...iOS :小萝莉和你聊聊iOS应用那些事儿 Bugly近期功能更新动态: 一SDK功能更新 Android SDK V1.2.3 1) 新增ANR监控和上报功能 2) 优化与第三方SDK...兼容性 iOS SDK V1.2.7 1) 新增iOS监控和上报功能 2) 新增会话内关键事件上报功能 3) 修复错误信号崩溃时线程堆栈读取出现偏差问题 二页面功能更新 1、 新增iOS、Android...2、 SDK下载页面改版,新增版本变更内容,随时可查。 ?

    2.3K40

    电脑玩游戏原因有哪些

    P下载站 电脑玩游戏原因有哪些 学习、工作闲暇之余,我们可能会采用玩游戏方式来消遣一下,但是相信大多数玩家可能都遇到过游戏现象,但是对于游戏解决起来还真的比较棘手,因为其原因还是蛮多...那么玩游戏怎么办如何解决?下面分享一下电脑玩游戏原因以及解决方法。...玩游戏解决方法 电脑玩游戏原因以及解决方法 1、电脑配置过低 如果游戏FPS过低,基本是电脑配置达不到游戏要求导致,FPS就是所谓帧数,FPS临界值为60FPS,一般建议高于这个值基本游戏画面就流畅了...5、硬件温度 很多时候,硬件温度高也会出现电脑、游戏情况,一般大多数都是CPU和显卡温度高导致,温度高要一定程度就会自动降频,出现电脑、不稳定、蓝屏、死机等原因。...以上就是分享电脑玩游戏原因以及解决方法,一般来说,造成游戏原因基本在这里了,当然也可能存在游戏对系统优化上不足或者虚拟内存设置问题导致,希望本文能够帮助到大家。

    3.3K40

    WPF 简单判断主线程界面是否方法

    本文来告诉大家如何使用简单代码判断当前软件 UI 线程或界面是否 在后台线程调用如下代码即可用来判断是否 private static async Task CheckDispatcherHangAsync...Task.WhenAny(taskCompletionSource.Task, Task.Delay(TimeSpan.FromSeconds(2))); // 如果任务还没完成,就是界面了...return taskCompletionSource.Task.IsCompleted is false; } 以上代码 Dispatcher 可以从窗口里面获取...以上代码推荐在后台线程调用 原理就是给 UI 线程一个任务,如果此任务可以在 2 秒执行完成,那么就证明 UI 不,否则就是证明 UI 了 以上方法可以放在后台线程循环进行不断调用,但是多次调用之间需要等待一下

    1K20

    互动直播应对、延迟、掉线技术难点实践

    本文根据布互动创始人张玺辉在2017年4月22日《LiveVideoStack Meet北京:后直播时代技术》沙龙上分享整理而成,讲述了布互动在教育直播领域经验与经历。...我们现在是测速和调度是合起来,比如判断你是电信运营商,我给你返回一组,基于地域能覆盖一组服务器,再进行测速,测速最关键一点是丢包,音视频的卡,延时稍微大一点是没有关系,只要包不丢,就不用去补,...我们遇到一个小运营商问题,同行也都遇到了,像长城宽带、电力猫这种网络也不知道什么情况,是从哪拉来。小运营商出口就很小,我们在上课时候,基本上是晚高峰,率就特别高,这是比较头疼。...,他给你把带宽降下来,我们做过实验,不加这个策略,其实是非常频繁,那你在动态调节以后,包括有一个算法,它能够预测你后面可能会卡,主动去降,主动去调节,这个率会大大降低。...如果还没过瘾,布互动将在LiveVideoStack Meet 6月17日杭州站和6月24日上海站两场活动进行现场直播演示,欢迎您到场体验。

    2K21

    优化主要是针对CPU GPU进行优化

    CPU: 尽量用轻量级对象,比如用不到事件处理地方,可以考虑使用CALayer取代UIView 不要频繁地调用UIView相关属性,比如frame、bounds、transform等属性,尽量减少不必要修改...尽量提前计算好布局,在有需要时一次性调整对应属性,不要多次修改属性 Autolayout会比直接设置frame消耗更多CPU资源 图片size最好刚好跟UIImageViewsize保持一致...控制一下线程最大并发数量 尽量把耗时操作放到子线程 文本处理(尺寸计算、绘制) 图片处理(解码、绘制) GPU: GPU能处理最大纹理尺寸是4096x4096,一旦超过这个尺寸,就会占用...- CPU资源进行处理,所以纹理尽量不要超过这个尺寸 尽量减少视图数量和层次 减少透明视图(alpha<1),不透明就设置opaque为YES 尽量避免出现离屏渲染

    1K30
    领券