谁来结束GUI程序-关于任务栏的思考

蓮花仙者
发布: 2025-08-26 08:22:27
原创
880人浏览过

在使用windows xp时,打开许多窗口并在任务栏上排列整齐的体验是许多用户的共同记忆。同样的程序窗口可以被分组,看起来井然有序。

不仅Windows如此,Linux桌面和MacOS也采用了类似的设计。虽然我没有深入研究GUI的历史,但我假设这种带有任务栏的GUI桌面设计最初可能源自微软。

一直以来,我对Windows在手机和平板上的表现感到困惑,直到我发现了它与任务栏之间的联系。


在手机和平板这种屏幕空间有限且用户关注单一全屏UI的环境中,任务栏似乎毫无必要。推而广之,即使在Windows XP上,任务栏也并非必需。那么,为什么需要任务栏呢?

假设任务栏是由微软设计出来的。

任务栏的作用是暂存GUI程序的窗口。尽管桌面本身已经支持重叠窗口,但为了让桌面更加整洁,Windows允许将非前台的程序窗口最小化到任务栏,等到它们再次获得焦点时再恢复。

现在的问题是,为什么要暂存一个GUI窗口,直接关闭程序不行吗?答案看似简单,因为可能有未保存的状态,比如用户在记事本中输入了未完成的内容。

但这并不是一个令人满意的答案。系统完全可以在关闭GUI程序时自动保存状态。从用户的角度来看,他们关心的是程序恢复时能保持上次离开焦点时的状态,而这些都可以由系统在后台完成。

实际上,任务栏是多余的。在GUI桌面系统中,任何时候都只有一个GUI程序窗口拥有焦点。系统可以随时关闭任何非焦点的GUI程序,只要在它再次需要获得焦点时,恢复到系统关闭时的状态即可。

Android等手机和平板操作系统正是这样管理GUI窗口的。由于屏幕较小,通常只有一个程序在获取输入和输出。这种特征更加明显,后台程序可以随时被系统持久化并关闭,以节省能耗。当用户再次切换到该程序时,系统重新运行程序并反序列化同步状态即可。

Android和Windows的区别在于,谁来控制GUI程序的关闭。Android将控制权完全交给系统,而Windows XP则将控制权交给用户。

iOS开发学习之iOS多线程和RunLoop 中文WORD版
iOS开发学习之iOS多线程和RunLoop 中文WORD版

iOS多线程编程对于iOS开发初学者来说,总是会觉得很难理解和掌握,现在通过几个实例来更加系统全面的理解iOS多线程编程,希望对大家有所帮助。 有些程序是一条直线,起点到终点;有些程序是一个圆,不断循环,直到将它切断。直线的如简单的Hello World,运行打印完,它的生命周期便结束了,像昙花一现那样;圆如操作系统,一直运行直到你关机。 一个运行着的程序就是一个进程或者叫做一个任务,一个进程至少包含一个线程,线程就是程序的执行流。Mac和iOS中的程序启动,创建好一个进程的同时,一个线程便开始运行,

iOS开发学习之iOS多线程和RunLoop 中文WORD版 0
查看详情 iOS开发学习之iOS多线程和RunLoop 中文WORD版

在Windows XP看来,它将所有程序的控制权都交给了用户,没有对GUI程序进行区分,这是老式UNIX的传统。然而,GUI程序与服务器程序(如Apache)不同,后者需要持续监听端口提供服务,而GUI程序几乎完全依赖用户操作。一旦失去焦点,GUI程序几乎无事可做,却平白无故地占用系统资源,这是没有必要的。

Windows 8引入了Metro界面,新的GUI控制改变了Windows XP的做法。它也可以在保证状态同步的前提下,随时关闭非焦点GUI程序。然而,由于历史兼容性的包袱,Windows 8的做法并不彻底,它仍然可以使用任务栏来暂留GUI程序窗口。这可能也是Surface界面显得别扭的原因之一。


浙江温州皮鞋湿,下雨进水不会胖。

谁来结束GUI程序-关于任务栏的思考(同步测试图片)

---------------------

作者:dog250

来源:CSDN

原文:https://www.php.cn/link/680a372679da6b97e589c2cf672d5aea

版权声明:本文为博主原创文章,转载请附上博文链接!

以上就是谁来结束GUI程序-关于任务栏的思考的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号