测试中加载数据文件时常出现页面卡顿、程序无响应、程序崩溃,排查发现....

本文讲述了在软件测试中遇到的程序加载数据文件时出现卡顿、无响应甚至崩溃的问题,原因是主线程同步加载资源导致。解决方案是采用异步线程加载,提高程序效率并确保主线程不被阻塞。同时,文章探讨了线程同步异步在开发和测试中的应用,强调理解程序逻辑对测试工作的重要性。
摘要由CSDN通过智能技术生成

背景

日常测试中,程序加载数据文件,时常出现页面卡顿、程序无响应、程序崩溃等情况,排查发现与程序进程中线程的同步异步有关。

案例描述

问题描述:

  • 使用文件查看器打开压缩文件时,出现程序无响应问题。

问题原因:

  • 1、经排查发现,在文件查看器打开压缩文件时,会对压缩文件中所有资源进行遍历,在遍历过程中某个资源解析出错,导致任务阻塞。
  • 2、进一步了解后发现,开发在实现功能时,将资源遍历线程放在了主线程中进行同步加载,所以资源遍历线程阻塞时,导致主线程无响应。

解决方案:

  • 1、对资源遍历线程阻塞场景添加保护,保证遍历线程正常执行;
  • 2、将资源遍历压缩文件线程从主线程放到子线程进行,形成异步加载,避免单个线程失败导致主线程直接挂掉,影响程序使用;
    通过以上案例可以看出,逻辑实现中使用同步或异步线程,对程序的效率提升以及主线程的保护是非常重要的。

延伸思考

1、 开发层面对线程的使用:

  1. 使用线程的场景:
  • ① 移动APP程序模块需要加载框架+内容时,使用线程更为高效;
  • ② 优化程序性能时,更偏向使用线程;
  1. 线程同步异步在程序中的应用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值