Delphi XE6中如何运用定时器或线程技术有效缓解界面无响应的长尾词?
- 内容介绍
- 文章标签
- 相关推荐
本文共计599个文字,预计阅读时间需要3分钟。
--- 恢复内容开始 ---介绍:在手机应用上,我们不应使用速度慢的代码。当然,在桌面程序上,我们也应避免这一点。当手机应用长时间没有响应时,程序会提示程序没有响应,是否关闭?
---恢复内容开始---
介绍
在手机应用上,我们不应该使用速度慢的代码,当然我们在桌面程序上也应该避免这个,当手机应用长时间没有相应的时候,程序会提示“程序没响应,是否关闭”的提示,这个非常不好,所以我们需要来解决这个问题。
下面是一个普通代码,通过for来循环添加ListVIew行,代码很简单,大家都见过
var I: Integer; Total: Integer; begin // counts the prime numbers below the given value Total := 0; for I := 1 to MaxValue do begin if (I * 10 mod MaxValue) = 0 then ListView1.Items.Add.Text := ‘B: ‘ + I.ToString; if IsPrime (I) then Inc (Total); end; ListView1.Items.Add.Text := ‘Blocking: ‘ + Total.ToString; 复制代码
在运行过程中,程序是无响应的,屏幕更本不刷新,直到运行结束,但是这里有个问题,MaxValue如果少还行,如果数值比较大,那么我们就会看到如下的界面
提示了程序没有响应,是否需要关闭它,这显示是个大问题,我们需要来解决。
本文共计599个文字,预计阅读时间需要3分钟。
--- 恢复内容开始 ---介绍:在手机应用上,我们不应使用速度慢的代码。当然,在桌面程序上,我们也应避免这一点。当手机应用长时间没有响应时,程序会提示程序没有响应,是否关闭?
---恢复内容开始---
介绍
在手机应用上,我们不应该使用速度慢的代码,当然我们在桌面程序上也应该避免这个,当手机应用长时间没有相应的时候,程序会提示“程序没响应,是否关闭”的提示,这个非常不好,所以我们需要来解决这个问题。
下面是一个普通代码,通过for来循环添加ListVIew行,代码很简单,大家都见过
var I: Integer; Total: Integer; begin // counts the prime numbers below the given value Total := 0; for I := 1 to MaxValue do begin if (I * 10 mod MaxValue) = 0 then ListView1.Items.Add.Text := ‘B: ‘ + I.ToString; if IsPrime (I) then Inc (Total); end; ListView1.Items.Add.Text := ‘Blocking: ‘ + Total.ToString; 复制代码
在运行过程中,程序是无响应的,屏幕更本不刷新,直到运行结束,但是这里有个问题,MaxValue如果少还行,如果数值比较大,那么我们就会看到如下的界面
提示了程序没有响应,是否需要关闭它,这显示是个大问题,我们需要来解决。

