VIYF 社区 https://bbs.viyf.org/ zh-CN VIYF 社区 Mon, 29 Apr 2024 01:38:39 +0800 Mon, 29 Apr 2024 01:38:39 +0800 推荐一个云服务商 https://bbs.viyf.org/?thread-index-fid-3-tid-239.htm https://bbs.viyf.org/?thread-index-fid-3-tid-239.htm Fri, 20 Oct 2023 23:27:35 +0800 乾坤 来自之心乐园]]> 来自之心乐园]]> 0 https://bbs.viyf.org/?thread-index-fid-3-tid-239.htm https://bbs.viyf.org/?thread-index-fid-3-tid-239.htm 测试一下,看看还能不能发帖。 https://bbs.viyf.org/?thread-index-fid-3-tid-237.htm https://bbs.viyf.org/?thread-index-fid-3-tid-237.htm Thu, 17 Aug 2023 06:17:52 +0800 海阔天空 来源:万能通]]> 来源:万能通]]> 1 https://bbs.viyf.org/?thread-index-fid-3-tid-237.htm https://bbs.viyf.org/?thread-index-fid-3-tid-237.htm 好冷清啊,这里。 https://bbs.viyf.org/?thread-index-fid-3-tid-236.htm https://bbs.viyf.org/?thread-index-fid-3-tid-236.htm Thu, 17 Aug 2023 06:17:04 +0800 逍遥公子 1 https://bbs.viyf.org/?thread-index-fid-3-tid-236.htm https://bbs.viyf.org/?thread-index-fid-3-tid-236.htm 来报个到 https://bbs.viyf.org/?thread-index-fid-5-tid-73.htm https://bbs.viyf.org/?thread-index-fid-5-tid-73.htm Sun, 13 Aug 2023 23:02:50 +0800 系统管理员 思绪回到了校园了

]]>
思绪回到了校园了

]]>
3 https://bbs.viyf.org/?thread-index-fid-5-tid-73.htm https://bbs.viyf.org/?thread-index-fid-5-tid-73.htm
教你一个免 UAC 提示以管理员权限运行程序的方法 https://bbs.viyf.org/?thread-index-fid-6-tid-124.htm https://bbs.viyf.org/?thread-index-fid-6-tid-124.htm Sun, 11 Jun 2023 01:01:00 +0800 armstrong [hide]第一步、登录普通管理员账号。

第二步、在运行对话框,输入如下指令:
 taskschd.msc /s
第三步、在“任务计划程序库”,点按右键,点击“创建任务”。
第四步,切换到“操作”选项卡。
[/hide]

第五步,点击“新建”,然后点击“浏览”。

第六步,找到你要运行的程序,右键点击它的图标,然后点击“打开”。

]]>
[hide]第一步、登录普通管理员账号。

第二步、在运行对话框,输入如下指令:
 taskschd.msc /s
第三步、在“任务计划程序库”,点按右键,点击“创建任务”。
第四步,切换到“操作”选项卡。
[/hide]

第五步,点击“新建”,然后点击“浏览”。

第六步,找到你要运行的程序,右键点击它的图标,然后点击“打开”。

]]>
8 https://bbs.viyf.org/?thread-index-fid-6-tid-124.htm https://bbs.viyf.org/?thread-index-fid-6-tid-124.htm
转载,“熊孩子”乱敲键盘就攻破了Linux桌面,大神:17年前我就警告过你们 https://bbs.viyf.org/?thread-index-fid-6-tid-234.htm https://bbs.viyf.org/?thread-index-fid-6-tid-234.htm Mon, 17 Apr 2023 08:15:20 +0800 AllenLI Linux系统,居然被两个不懂任何技术的小孩“攻破”了。
他们只是在键盘和屏幕上一通乱按,就轻松绕过密码,进入了被锁定的Linux系统桌面。
最近,一位程序员父亲就这样,眼睁睁地看着自己的电脑被孩子“玩坏”。

作为一名程序员,他首先想到的不是打骂孩子,而是——如何复现漏洞。
他发现这个漏洞确实是孩子乱按导致的,在某些特殊按键组合下,Linux的屏幕锁定进程会崩溃,从而绕过了密码。
也就是说,只要有人知道了这个漏洞,无需密码就可以偷偷打开别人已经锁定的Linux电脑。
他将情况反馈到官方GitHub上,最终这个奇怪的漏洞上周被正式修复了。
但这并不能让程序员们放心,这些年因Linux桌面进程崩溃导致的安全漏洞层出不穷,屡见不鲜,你永远不知道下一个bug会是什么。
孩子们“乱杀”的桌面系统漏洞
这两个小孩,是怎么“发现”这一漏洞的呢?
这位程序员父亲将自己的电脑锁定后,孩子们试图解锁它,就开始在电脑键盘上瞎打。

 
△ 大致是这个画风
突然,屏保界面消失,孩子们成功进入了Linux系统。
什么?连密码都没有输入?
他让他们再演示一次。这次,孩子们同样做到了,但依旧只是“乱敲”键盘而已。
  
太奇怪了。
他在两个小孩离开后,自己又悄悄地试了一下,没能成功。
不过他认为,这肯定是个漏洞,因为已经亲眼见过两次了。
这位程序员父亲所用的桌面系统是Cinnamon(Linux桌面环境之一),他推测,Cinnamon是不是有什么奇怪的bug,在不输入密码的情况下也能解锁桌面。

当天晚上10点半,他在Linux Mint的GitHub页面上反馈了这一bug,并描述了孩子们敲击键盘的场景:
他们同时按下了物理键盘和屏幕虚拟键盘,而且,尽量多按一些虚拟键盘。
消息一出,马上就有网友表示,自己同样遇到了这种问题,而且用的桌面系统也是Cinnamon。
随后,Linux Mint程序员火速赶往现场。
检查后发现,这的确是一个bug,而且Cinnamon 4.2以上的桌面系统,都会受到影响,因为这一版开始支持屏幕虚拟键盘了。

导致这个bug的具体行为是:长按“e”键,并在虚拟键盘上选中“ē”。
现在,Linux Mint已经为这个漏洞推出了一个新补丁,不过需要自己手动安装。
人生苦短,不如用KDE(手动狗头)。
大神:17年前我就警告过他们
对于如此荒谬而简单的漏洞,自然引起各路程序员对Linux桌面的吐槽。
关于这个问题的GitHub issue页面都被程序员们玩坏了。
有人说:这个CVE应该归功于孩子们…

还有人在回帖中发个表情包:我想程序员们应该会这样复现bug。

 

但要论吐槽最狠的,还是著名程序员大神jwz。
今天凌晨,这位大神又双叒叕发了一篇文章来吐槽此事,标题是《我已经告诉过你们之2021版》。

因为早在17年前,他就警告过Cinnamon和GNOME官方:
如果没有在Linux上运行XScreenSaver,那么可以你的屏幕就相当于没有锁定。
之后每隔几年,jwz都会出来把这段话再说一遍。
jwz还调侃说:“翻车”一次是偶然,两次是巧合,三次是敌人的破坏,四次是GNOME官方。
而这四次安全漏洞,jwz都有详细的记录:
• 
CVE-2019-3010,从Oracle Solaris屏幕保护程序可以获得特殊权限升级;
• 
CVE-2014-1949, MDVSA-2015:162:在Cinnamon屏幕保护程序中按菜单键,再按ESC键,就可以进入shell;
• 
按住向下键,解锁Cinnamon屏幕保护程序;
• 
按住回车键,解锁GNOME屏幕保护程序。
修bug引发的新漏洞
导致Linux Mint漏洞是由于3月前修复另一个bug引起的。

这个漏洞存在于Linux显示服务xorg-x11-server中,其最大威胁是对数据机密性和完整性以及系统可用性的威胁。
更让人哭笑不得的是,Ubuntu 20.04在向后移植xorg的时候,由于使用了没有该bug的1.20.9版,反而逃过一劫。
当Ubuntu的开发人员意识到没有打上CVE-2020-25712补丁后,他们又中了新的漏洞。
结果就是,xorg更新修复以后,任何人都可以让屏幕锁定程序崩溃,然后进入桌面。
无独有偶,这不禁让人想起GNOME两个月前的另一个“低级”漏洞。
一位程序员通过将账户服务陷入无限循环,使GNOME的账户守护程序崩溃。之后就能在锁定界面添加新的sudo用户,并获取root权限。

这个锅该让GNOME来背吗?jwz认为,归根结底是因为现在的Linux图形化界面根基X11存在着不可修复的严重问题:
1、锁定和身份验证是操作系统级别的问题。
尽管X11是Linux计算机操作系统的核心,但它的设计没有安全性可言,锁定程序必须以普通的、非特权的用户级应用程序一样运行。
2、X11体系结构的这一错误永远无法修复。
X11太旧、太僵化,并且有太多利益相关者无法对它进行任何有意义的更改。这就是为什么人们不断尝试替换X11的原因并失败了,因为它根深蒂固。
虽然现在有Wayland作为X11的替代品,但仍有网友替换为Wayland后,Ubuntu桌面依然存在某些缺陷。
比如唤醒电脑后,会在原来的桌面停留10~20秒才能进入锁屏状态,这个过程中桌面的隐私会一览无余。
鉴于Linux桌面的安全性问题漏洞百出,为了防止未被发现漏洞遭利用,有用户建议先安装XSecureLock,多上一把锁。
我热切期待着听到他们如何解决这个问题。
jwz在自己的博客里如是说。
参考链接:
https://github.com/linuxmint/cinnamon-screensaver/issues/354...
https://www.zdnet.com/article/linux-mint-fixes-screensaver-bypass-discovered-by-two-kids/...
https://web.archive.org/web/20210116101222/https://www.jwz.org/blog/2021/01/i-told-you-so-2021-edition/...
—完—

]]>
Linux系统,居然被两个不懂任何技术的小孩“攻破”了。
他们只是在键盘和屏幕上一通乱按,就轻松绕过密码,进入了被锁定的Linux系统桌面。
最近,一位程序员父亲就这样,眼睁睁地看着自己的电脑被孩子“玩坏”。

作为一名程序员,他首先想到的不是打骂孩子,而是——如何复现漏洞。
他发现这个漏洞确实是孩子乱按导致的,在某些特殊按键组合下,Linux的屏幕锁定进程会崩溃,从而绕过了密码。
也就是说,只要有人知道了这个漏洞,无需密码就可以偷偷打开别人已经锁定的Linux电脑。
他将情况反馈到官方GitHub上,最终这个奇怪的漏洞上周被正式修复了。
但这并不能让程序员们放心,这些年因Linux桌面进程崩溃导致的安全漏洞层出不穷,屡见不鲜,你永远不知道下一个bug会是什么。
孩子们“乱杀”的桌面系统漏洞
这两个小孩,是怎么“发现”这一漏洞的呢?
这位程序员父亲将自己的电脑锁定后,孩子们试图解锁它,就开始在电脑键盘上瞎打。

 
△ 大致是这个画风
突然,屏保界面消失,孩子们成功进入了Linux系统。
什么?连密码都没有输入?
他让他们再演示一次。这次,孩子们同样做到了,但依旧只是“乱敲”键盘而已。
  
太奇怪了。
他在两个小孩离开后,自己又悄悄地试了一下,没能成功。
不过他认为,这肯定是个漏洞,因为已经亲眼见过两次了。
这位程序员父亲所用的桌面系统是Cinnamon(Linux桌面环境之一),他推测,Cinnamon是不是有什么奇怪的bug,在不输入密码的情况下也能解锁桌面。

当天晚上10点半,他在Linux Mint的GitHub页面上反馈了这一bug,并描述了孩子们敲击键盘的场景:
他们同时按下了物理键盘和屏幕虚拟键盘,而且,尽量多按一些虚拟键盘。
消息一出,马上就有网友表示,自己同样遇到了这种问题,而且用的桌面系统也是Cinnamon。
随后,Linux Mint程序员火速赶往现场。
检查后发现,这的确是一个bug,而且Cinnamon 4.2以上的桌面系统,都会受到影响,因为这一版开始支持屏幕虚拟键盘了。

导致这个bug的具体行为是:长按“e”键,并在虚拟键盘上选中“ē”。
现在,Linux Mint已经为这个漏洞推出了一个新补丁,不过需要自己手动安装。
人生苦短,不如用KDE(手动狗头)。
大神:17年前我就警告过他们
对于如此荒谬而简单的漏洞,自然引起各路程序员对Linux桌面的吐槽。
关于这个问题的GitHub issue页面都被程序员们玩坏了。
有人说:这个CVE应该归功于孩子们…

还有人在回帖中发个表情包:我想程序员们应该会这样复现bug。

 

但要论吐槽最狠的,还是著名程序员大神jwz。
今天凌晨,这位大神又双叒叕发了一篇文章来吐槽此事,标题是《我已经告诉过你们之2021版》。

因为早在17年前,他就警告过Cinnamon和GNOME官方:
如果没有在Linux上运行XScreenSaver,那么可以你的屏幕就相当于没有锁定。
之后每隔几年,jwz都会出来把这段话再说一遍。
jwz还调侃说:“翻车”一次是偶然,两次是巧合,三次是敌人的破坏,四次是GNOME官方。
而这四次安全漏洞,jwz都有详细的记录:
• 
CVE-2019-3010,从Oracle Solaris屏幕保护程序可以获得特殊权限升级;
• 
CVE-2014-1949, MDVSA-2015:162:在Cinnamon屏幕保护程序中按菜单键,再按ESC键,就可以进入shell;
• 
按住向下键,解锁Cinnamon屏幕保护程序;
• 
按住回车键,解锁GNOME屏幕保护程序。
修bug引发的新漏洞
导致Linux Mint漏洞是由于3月前修复另一个bug引起的。

这个漏洞存在于Linux显示服务xorg-x11-server中,其最大威胁是对数据机密性和完整性以及系统可用性的威胁。
更让人哭笑不得的是,Ubuntu 20.04在向后移植xorg的时候,由于使用了没有该bug的1.20.9版,反而逃过一劫。
当Ubuntu的开发人员意识到没有打上CVE-2020-25712补丁后,他们又中了新的漏洞。
结果就是,xorg更新修复以后,任何人都可以让屏幕锁定程序崩溃,然后进入桌面。
无独有偶,这不禁让人想起GNOME两个月前的另一个“低级”漏洞。
一位程序员通过将账户服务陷入无限循环,使GNOME的账户守护程序崩溃。之后就能在锁定界面添加新的sudo用户,并获取root权限。

这个锅该让GNOME来背吗?jwz认为,归根结底是因为现在的Linux图形化界面根基X11存在着不可修复的严重问题:
1、锁定和身份验证是操作系统级别的问题。
尽管X11是Linux计算机操作系统的核心,但它的设计没有安全性可言,锁定程序必须以普通的、非特权的用户级应用程序一样运行。
2、X11体系结构的这一错误永远无法修复。
X11太旧、太僵化,并且有太多利益相关者无法对它进行任何有意义的更改。这就是为什么人们不断尝试替换X11的原因并失败了,因为它根深蒂固。
虽然现在有Wayland作为X11的替代品,但仍有网友替换为Wayland后,Ubuntu桌面依然存在某些缺陷。
比如唤醒电脑后,会在原来的桌面停留10~20秒才能进入锁屏状态,这个过程中桌面的隐私会一览无余。
鉴于Linux桌面的安全性问题漏洞百出,为了防止未被发现漏洞遭利用,有用户建议先安装XSecureLock,多上一把锁。
我热切期待着听到他们如何解决这个问题。
jwz在自己的博客里如是说。
参考链接:
https://github.com/linuxmint/cinnamon-screensaver/issues/354...
https://www.zdnet.com/article/linux-mint-fixes-screensaver-bypass-discovered-by-two-kids/...
https://web.archive.org/web/20210116101222/https://www.jwz.org/blog/2021/01/i-told-you-so-2021-edition/...
—完—

]]>
1 https://bbs.viyf.org/?thread-index-fid-6-tid-234.htm https://bbs.viyf.org/?thread-index-fid-6-tid-234.htm
新人报道 https://bbs.viyf.org/?thread-index-fid-3-tid-235.htm https://bbs.viyf.org/?thread-index-fid-3-tid-235.htm Sat, 25 Feb 2023 08:04:02 +0800 逍遥公子 0 https://bbs.viyf.org/?thread-index-fid-3-tid-235.htm https://bbs.viyf.org/?thread-index-fid-3-tid-235.htm 我来测试一下。 https://bbs.viyf.org/?thread-index-fid-12-tid-224.htm https://bbs.viyf.org/?thread-index-fid-12-tid-224.htm Tue, 07 Feb 2023 17:05:20 +0800 海阔天空 来源:万能通]]> 来源:万能通]]> 5 https://bbs.viyf.org/?thread-index-fid-12-tid-224.htm https://bbs.viyf.org/?thread-index-fid-12-tid-224.htm 转载:Linux 可访问性:未维护的混乱 https://bbs.viyf.org/?thread-index-fid-6-tid-230.htm https://bbs.viyf.org/?thread-index-fid-6-tid-230.htm Tue, 07 Feb 2023 16:45:08 +0800 AllenLI 这篇文章来自https://scribe.rip/@r.d.t.prater/linux-accessibility-an-unmaintained-mess-8fbf9decaf8a,比较全面的表达了视障用户使用linux的当前状态,以下是正文,由google翻译。

Linux 可访问性:未维护的混乱
德文普拉特于 2022-05-08
为什么我暂时不会使用 Linux
Linux 主要被称为服务器操作系统。它在这方面的表现令人印象深刻,几乎每家公司都在使用它。但多年来,科技界的一些人也将其作为个人的家庭计算机操作系统。
有几个播客,人们在其中谈论 Linux 在桌面上的可行性。然而,随着 Linux 接触到越来越多的主流用户,它揭示了一个令人失望的事实,即并非每个人都可以使用它。那些可以从其开源性质中获得最大帮助的残障人士,反而被留给了营利性公司,无论他们做了什么,至少已经或多或少地提供了他们的产品。
在本文中,我将概述我过去几年使用 Linux 的经历。我不是唯一尝试过 Linux 的残障用户,但我只能谈谈我的经验,以及我所知道的最糟糕部分的解决方法。
Vinux 和 Sonar——早期
早在 Gnome 2 是首选桌面的日子里,我就开始使用 Linux。它易于访问,易于使用,所有 Vinux 维护人员需要做的就是让 Orca,Linux GUI 屏幕阅读器,在安装过程中和在新系统上启动。它并不完美——没有什么是完美的——但这是一个很好的开始。我在一台旧笔记本电脑上使用它,无论出于何种原因,硬盘驱动器都被锁定了。那个可怜的硬盘,只有 74 GB 的存储空间。
2015 年左右,Sonar 作为替代方案出现了。它基于 Antergos,后者基于 Arch Linux。它有一个简单的安装程序,并在安装期间和安装后启用 Orca。这两个项目都没有了。明争暗斗和责备使他们在计划合并时分崩离析。
破碎——现在
在 Vinux 和 Sonar 被抛弃后,许多盲目 Linux 用户干脆转向主流发行版。Arch 是许多人的首选发行版,因为它的软件包是最新的。这意味着一旦包维护者发布它们,任何可访问性修复都在他们手中。已经有一些针对盲人发行版的尝试,例如 F123、Stormux 和 Slint,但是 F123 失败了,Stormux 是针对 Raspberry Pi 的,并且只有一个维护者。Slint 也只有一名维护者,并且基于 Slackware。因此,每个人基本上都走了自己的路,有的去 Arch,有的去 Ubuntu Mate,有的去 Mint,有的去 Debian,还有的去 Fedora。这些发行版中只有少数,主要是 Arch 和 Debian,甚至在安装过程中主动并有意识地支持盲人用户,
我想花点时间谈谈 Gnome 2。它简单、易用且干净。首次启动系统时,您使用登录管理器登录,然后进入桌面。按 Alt + F1 打开您的应用程序列表,按类别排序,然后按 Alt + F2 打开您的运行框。简单干净。设置类别也在应用程序的菜单中,因此无需处理设置管理器。
Gnome 3 改变了这一切。他们几乎重新制作了整个桌面。而且,如果您重新制作某些东西,则必须重新制作可访问性。除了他们忘记了那部分。没有人知道这件事。没有人听。我想,他们的借口是他们不是辅助功能专家。当然,有人会进来做这件事。但这从未发生过。
现在,我们使用的是 Gnome 版本 4。当您按下 Super 键打开应用程序屏幕和搜索工具时,您会听到“window”。就是这样。高级用户知道只需开始键入,但新 Linux 用户将不知道他们在哪里,甚至认为发生了不好的事情。
那么,让我们不要过多关注 Gnome。KDE 呢?他们是一个非常注重可用性的桌面,对吧?
恐怕直到最近。我们还不能有效地使用 KDE 桌面。工作正在进行中,但就像访问技术世界中的一切一样,它非常缓慢。只有当一个新视力的人受到启发去提供帮助时,事情才会发生,直到他们因缺乏开源社区的帮助和更广泛的盲人社区缺乏兴趣而筋疲力尽。
我们唯一需要坚持的桌面环境是 Mate。那只是因为它是 Gnome 2 的延续,带有更名的应用程序。它有效,是的。但它开始随着年龄的增长而衰退。
使用 Mate 桌面时,如果您退出基于 Chromium 的应用程序、Orca 或辅助功能服务,除非您立即转到桌面或调用 Orca 对话框,否则将丢失任何焦点。这可能只是一个开始。我唯一的希望是,在 Mate 完全失修之前,有另一个桌面可以取代它。
好吧,好吧,让我们忘掉桌面吧。基于文本的界面怎么样?命令行是可以访问的,对吧?
从技术上讲,是的。文本非常有利于许多残障人士的无障碍访问。但是谁会使用命令行来查看电子邮件、浏览网页、使用 Facebook、收听 YouTube Music、浏览、阅读以及与 Reddit、Twitter、Hacker News、Medium、Mastodon、Telegram、短信、视频游戏和书籍进行交互有多种格式?如果您可以使用命令行来完成所有这些,那么我想听听您是如何做到的。有一些人使用命令行进行大量计算,但他们并没有做我列出的所有事情?哦,我有提到 Salesforce 吗?祝你在命令行上与那个野兽互动时好运。我必须用它来工作。如果你不这样做,你很幸运。
我使用 Fedora 的经历
正如我在上面所写的,在 Vinux 和 Sonar 崩溃之后,我们只剩下主流发行版了。我选择了 Fedora,发现它是 Debian 和 Ubuntu 的缓慢发布周期与 Arch Linux 的较难安装程序之间的一个很好的折衷。即使在 Arch 添加了他们的安装程序脚本之后,仍然需要使用一个奇怪的iwconfig命令来启用 Wi-fi,而我不知道如何使用它。因此,我放入了在 Windows 上使用 Rufus 制作的 Fedora Mate 35 USB,然后启动了计算机。
按几次 Enter 后,我用手机扫描屏幕,打开一个应用程序,它可以对相机看到的任何内容进行 OCR。我终于听到了 Mate 用户界面的一部分,我按下了启动 Orca 的常用键盘命令——Alt + Windows + S。没有任何反应。如果我是一个普通的盲人,我什至不知道启动 Orca 的实际隐藏的键盘命令。如果我这样做了,并且该命令不起作用,我会匆匆回到 Windows 的安全环境。无论如何我应该这样做。
但是,唉,我不是普通用户。我不想对好的 ol' Windows 感到满意,而是想要 Linux 的强大功能,它支持开发人员或高级用户可能需要的一切。如果我是那个普通用户就好了。我的生活会简单得多,没有压力,而且我可能会找到一份更好的工作。
因此,我按 Alt + F2 运行命令,键入orca并按 Enter。逆戟鲸跑了。我能够安装 Fedora,重新启动后,登录管理器出现了。但是没有说话。不过没关系,我只是做了同样的命令,Orca 开始说话了。我登录了,并且在桌面上。
出口辅助技术
在桌面上打开 Orca 后,是的,我必须在那里打开它,我更新了系统并尝试了 Firefox。它没有读取任何内容。如果我们亲爱的普通用户已经走到这一步,多亏了论坛上的一些高级 Linux 用户,他们就会回头重新安装 Windows,或者认真考虑一下。然而,挨了一个耳光之后,我准备接受更多的惩罚。我很擅长这个,我想。龟熊,有人吗?
您要做的是进入应用程序设置,进入个性化,然后进入辅助技术。在那里,您会找到一个开关来打开或关闭辅助技术支持。这使 Orca 能够使用诸如 Gnome GTK 应用程序之类的东西,并让应用程序知道有辅助技术在运行。为什么有人会想要这个,我不知道。我想这是 Linux 具有“良好”默认值的传统的一部分。幸运的是,如果您的硬件支持 Debian,并且您使用可访问的安装程序,这将为您打开。
任何人都必须打开它这一事实表明开放源代码文化是多么有能力。没有其他操作系统需要这个。当您在 Mac 上打开 VoiceOver 时,您可以访问所有可访问的程序。当您在 Windows 上打开讲述人或 NvDA 时,您可以访问所有可访问的程序。当您在 ChromeBook 上打开 ChromeVox 时,您可以访问所有可访问的程序。它仅适用于 Linux,您必须选中一个框才能启用辅助功能。
但是等等,还有更多!完成之后,您就可以访问 GTK 程序了。铬呢?不可以。您必须导出一个可访问性变量,我手头没有,才能使用任何基于 Chromium 的应用程序或浏览器。从 Etcher 到 web torrent 到 Element 到 Chrome,Electron 正在成为开发人员制作跨平台应用程序的一种非常流行的方式。如果我们的用户没有因为需要选中一个框而被赶走,他们肯定会因为基本上需要一个作弊代码来启用其余的可访问性。
然而,我坚持了下来,并找到了一篇博文,其中放置了大约一年前我尝试使用 Arch 时使用的所有导出行。我将它们粘贴到“.bash配置文件”文件中,获取它的源代码,并且能够使用 Chrome 和 VS Code。哦对了,我有没有提到 VS-Code 使用 Electron?那个app基本上都是开发者用的?不是很好吗?
漏水的洋泾浜
Pidgin 是我用过的第二酷的 Linux 应用程序,仅次于带有 Emacspeak 的 Emacs。几乎所有消息传递平台都可以使用相同的、可访问的界面,这真是太棒了。但我发现,随着时间的推移,如果我在 Pidgin 中键入一条很长的消息,可能有两段那么长,它就会崩溃,并且会导致整个可访问性堆栈崩溃。这不好。我认为这是安全启动的原因,因为有些人说它会扰乱这样的系统,但在禁用它并重新安装 Fedora 后,一段时间后它仍然发生。
原来lib purple存在内存泄漏。所以,Pidgin 就这么多了。Lib-purple 赋予了 Pidgin 连接 Telegram、IRC、Matrix 等所有功能的能力。我在工作中使用 Matrix,所以我需要能够快速连接到它。
“好吧,”我想,“我将只在 Linux 上使用 Element,尽管 Element 不如 Pidgin 可访问,并且只将 Irssi 用于 IRC。” 第二天,有史以来最大的一记耳光以雷鸣般的结局击中了我,结束了我对 Linux 的尊重和大部分的爱。
结束
更新Fedora后,发现翻了几页,Chromium浏览器就不能用了。Orca 可以看到 Chrome 用户界面,但看不到网页。无奈之下,我尝试了 Microsoft Edge 和 Brave。这两个都有同样的问题。我严重依赖个人资料来区分家庭、全职工作和兼职工作。是的,要分开很多。Firefox 无法将所有这些分开并在它们之间快速切换。因此,怀着沉重的心情,在上班前几个小时,我重新安装了 Windows 并开始整理我的东西。
那么,其他人是怎么做到的呢?
我之前提到过,我不是唯一的盲人 Linux 用户。其他人使用不同的策略来应对 Linux 的可访问性差。
• 窗口管理器:一些使用带有自定义脚本的 Rat-poison 来消除 Mate 的任何衰减或拥有更轻的系统。
• CLI:有些人尽可能多地使用 CLI,将 X11 用于 Web 浏览器。
• 回退:当像 Pidgin 这样的东西消耗了太多内存时,它们就会回退到 IRSSI。我听说过甚至只是将 Android 作为桌面系统运行。
结论
撰写本文的目的是将重点放在 Linux 桌面的可访问性上。随着 Raspberry Pi 计算机在学校中越来越普及,我希望盲人学生能够享受学习编码、管理系统和探索计算的乐趣。我希望盲人能够在学习计算机的过程中成长到这样的地步,当他们 20 岁出头时,他们可以构建应用程序,为旧系统制作仿真层,或者自动化他们的工作。我希望盲人孩子有我没有的机会。此外,我希望他们能够学习 Python,而不是 Quorum。我希望他们了解 Linux 的内部结构,而不是为了每个高级设置或更改而与 Windows 抗争。如果一个盲人厌倦了他们专为盲人设计的工作,
对于有视力的计算机爱好者来说,所有这些情况或多或少都是容易的。事实上,The Odin Project 根本不支持使用 Windows,而是希望您从一开始就使用 Linux。您还可以使用 macOS 或 ChromeOS。这表明用不了多久,成为一名开发人员就意味着使用 Linux。与其他任何群体相比,残障人士应该能够迈出第一步。我们常常一贫如洗,要么没有工作,要么从事的是一份低薪的入门级工作,没有迹象表明可以提升价值链,也无法使用技术来帮助我们的日常生活。我们只需要开源社区足够关心来清理他们开始的可访问性混乱。

]]>
这篇文章来自https://scribe.rip/@r.d.t.prater/linux-accessibility-an-unmaintained-mess-8fbf9decaf8a,比较全面的表达了视障用户使用linux的当前状态,以下是正文,由google翻译。

Linux 可访问性:未维护的混乱
德文普拉特于 2022-05-08
为什么我暂时不会使用 Linux
Linux 主要被称为服务器操作系统。它在这方面的表现令人印象深刻,几乎每家公司都在使用它。但多年来,科技界的一些人也将其作为个人的家庭计算机操作系统。
有几个播客,人们在其中谈论 Linux 在桌面上的可行性。然而,随着 Linux 接触到越来越多的主流用户,它揭示了一个令人失望的事实,即并非每个人都可以使用它。那些可以从其开源性质中获得最大帮助的残障人士,反而被留给了营利性公司,无论他们做了什么,至少已经或多或少地提供了他们的产品。
在本文中,我将概述我过去几年使用 Linux 的经历。我不是唯一尝试过 Linux 的残障用户,但我只能谈谈我的经验,以及我所知道的最糟糕部分的解决方法。
Vinux 和 Sonar——早期
早在 Gnome 2 是首选桌面的日子里,我就开始使用 Linux。它易于访问,易于使用,所有 Vinux 维护人员需要做的就是让 Orca,Linux GUI 屏幕阅读器,在安装过程中和在新系统上启动。它并不完美——没有什么是完美的——但这是一个很好的开始。我在一台旧笔记本电脑上使用它,无论出于何种原因,硬盘驱动器都被锁定了。那个可怜的硬盘,只有 74 GB 的存储空间。
2015 年左右,Sonar 作为替代方案出现了。它基于 Antergos,后者基于 Arch Linux。它有一个简单的安装程序,并在安装期间和安装后启用 Orca。这两个项目都没有了。明争暗斗和责备使他们在计划合并时分崩离析。
破碎——现在
在 Vinux 和 Sonar 被抛弃后,许多盲目 Linux 用户干脆转向主流发行版。Arch 是许多人的首选发行版,因为它的软件包是最新的。这意味着一旦包维护者发布它们,任何可访问性修复都在他们手中。已经有一些针对盲人发行版的尝试,例如 F123、Stormux 和 Slint,但是 F123 失败了,Stormux 是针对 Raspberry Pi 的,并且只有一个维护者。Slint 也只有一名维护者,并且基于 Slackware。因此,每个人基本上都走了自己的路,有的去 Arch,有的去 Ubuntu Mate,有的去 Mint,有的去 Debian,还有的去 Fedora。这些发行版中只有少数,主要是 Arch 和 Debian,甚至在安装过程中主动并有意识地支持盲人用户,
我想花点时间谈谈 Gnome 2。它简单、易用且干净。首次启动系统时,您使用登录管理器登录,然后进入桌面。按 Alt + F1 打开您的应用程序列表,按类别排序,然后按 Alt + F2 打开您的运行框。简单干净。设置类别也在应用程序的菜单中,因此无需处理设置管理器。
Gnome 3 改变了这一切。他们几乎重新制作了整个桌面。而且,如果您重新制作某些东西,则必须重新制作可访问性。除了他们忘记了那部分。没有人知道这件事。没有人听。我想,他们的借口是他们不是辅助功能专家。当然,有人会进来做这件事。但这从未发生过。
现在,我们使用的是 Gnome 版本 4。当您按下 Super 键打开应用程序屏幕和搜索工具时,您会听到“window”。就是这样。高级用户知道只需开始键入,但新 Linux 用户将不知道他们在哪里,甚至认为发生了不好的事情。
那么,让我们不要过多关注 Gnome。KDE 呢?他们是一个非常注重可用性的桌面,对吧?
恐怕直到最近。我们还不能有效地使用 KDE 桌面。工作正在进行中,但就像访问技术世界中的一切一样,它非常缓慢。只有当一个新视力的人受到启发去提供帮助时,事情才会发生,直到他们因缺乏开源社区的帮助和更广泛的盲人社区缺乏兴趣而筋疲力尽。
我们唯一需要坚持的桌面环境是 Mate。那只是因为它是 Gnome 2 的延续,带有更名的应用程序。它有效,是的。但它开始随着年龄的增长而衰退。
使用 Mate 桌面时,如果您退出基于 Chromium 的应用程序、Orca 或辅助功能服务,除非您立即转到桌面或调用 Orca 对话框,否则将丢失任何焦点。这可能只是一个开始。我唯一的希望是,在 Mate 完全失修之前,有另一个桌面可以取代它。
好吧,好吧,让我们忘掉桌面吧。基于文本的界面怎么样?命令行是可以访问的,对吧?
从技术上讲,是的。文本非常有利于许多残障人士的无障碍访问。但是谁会使用命令行来查看电子邮件、浏览网页、使用 Facebook、收听 YouTube Music、浏览、阅读以及与 Reddit、Twitter、Hacker News、Medium、Mastodon、Telegram、短信、视频游戏和书籍进行交互有多种格式?如果您可以使用命令行来完成所有这些,那么我想听听您是如何做到的。有一些人使用命令行进行大量计算,但他们并没有做我列出的所有事情?哦,我有提到 Salesforce 吗?祝你在命令行上与那个野兽互动时好运。我必须用它来工作。如果你不这样做,你很幸运。
我使用 Fedora 的经历
正如我在上面所写的,在 Vinux 和 Sonar 崩溃之后,我们只剩下主流发行版了。我选择了 Fedora,发现它是 Debian 和 Ubuntu 的缓慢发布周期与 Arch Linux 的较难安装程序之间的一个很好的折衷。即使在 Arch 添加了他们的安装程序脚本之后,仍然需要使用一个奇怪的iwconfig命令来启用 Wi-fi,而我不知道如何使用它。因此,我放入了在 Windows 上使用 Rufus 制作的 Fedora Mate 35 USB,然后启动了计算机。
按几次 Enter 后,我用手机扫描屏幕,打开一个应用程序,它可以对相机看到的任何内容进行 OCR。我终于听到了 Mate 用户界面的一部分,我按下了启动 Orca 的常用键盘命令——Alt + Windows + S。没有任何反应。如果我是一个普通的盲人,我什至不知道启动 Orca 的实际隐藏的键盘命令。如果我这样做了,并且该命令不起作用,我会匆匆回到 Windows 的安全环境。无论如何我应该这样做。
但是,唉,我不是普通用户。我不想对好的 ol' Windows 感到满意,而是想要 Linux 的强大功能,它支持开发人员或高级用户可能需要的一切。如果我是那个普通用户就好了。我的生活会简单得多,没有压力,而且我可能会找到一份更好的工作。
因此,我按 Alt + F2 运行命令,键入orca并按 Enter。逆戟鲸跑了。我能够安装 Fedora,重新启动后,登录管理器出现了。但是没有说话。不过没关系,我只是做了同样的命令,Orca 开始说话了。我登录了,并且在桌面上。
出口辅助技术
在桌面上打开 Orca 后,是的,我必须在那里打开它,我更新了系统并尝试了 Firefox。它没有读取任何内容。如果我们亲爱的普通用户已经走到这一步,多亏了论坛上的一些高级 Linux 用户,他们就会回头重新安装 Windows,或者认真考虑一下。然而,挨了一个耳光之后,我准备接受更多的惩罚。我很擅长这个,我想。龟熊,有人吗?
您要做的是进入应用程序设置,进入个性化,然后进入辅助技术。在那里,您会找到一个开关来打开或关闭辅助技术支持。这使 Orca 能够使用诸如 Gnome GTK 应用程序之类的东西,并让应用程序知道有辅助技术在运行。为什么有人会想要这个,我不知道。我想这是 Linux 具有“良好”默认值的传统的一部分。幸运的是,如果您的硬件支持 Debian,并且您使用可访问的安装程序,这将为您打开。
任何人都必须打开它这一事实表明开放源代码文化是多么有能力。没有其他操作系统需要这个。当您在 Mac 上打开 VoiceOver 时,您可以访问所有可访问的程序。当您在 Windows 上打开讲述人或 NvDA 时,您可以访问所有可访问的程序。当您在 ChromeBook 上打开 ChromeVox 时,您可以访问所有可访问的程序。它仅适用于 Linux,您必须选中一个框才能启用辅助功能。
但是等等,还有更多!完成之后,您就可以访问 GTK 程序了。铬呢?不可以。您必须导出一个可访问性变量,我手头没有,才能使用任何基于 Chromium 的应用程序或浏览器。从 Etcher 到 web torrent 到 Element 到 Chrome,Electron 正在成为开发人员制作跨平台应用程序的一种非常流行的方式。如果我们的用户没有因为需要选中一个框而被赶走,他们肯定会因为基本上需要一个作弊代码来启用其余的可访问性。
然而,我坚持了下来,并找到了一篇博文,其中放置了大约一年前我尝试使用 Arch 时使用的所有导出行。我将它们粘贴到“.bash配置文件”文件中,获取它的源代码,并且能够使用 Chrome 和 VS Code。哦对了,我有没有提到 VS-Code 使用 Electron?那个app基本上都是开发者用的?不是很好吗?
漏水的洋泾浜
Pidgin 是我用过的第二酷的 Linux 应用程序,仅次于带有 Emacspeak 的 Emacs。几乎所有消息传递平台都可以使用相同的、可访问的界面,这真是太棒了。但我发现,随着时间的推移,如果我在 Pidgin 中键入一条很长的消息,可能有两段那么长,它就会崩溃,并且会导致整个可访问性堆栈崩溃。这不好。我认为这是安全启动的原因,因为有些人说它会扰乱这样的系统,但在禁用它并重新安装 Fedora 后,一段时间后它仍然发生。
原来lib purple存在内存泄漏。所以,Pidgin 就这么多了。Lib-purple 赋予了 Pidgin 连接 Telegram、IRC、Matrix 等所有功能的能力。我在工作中使用 Matrix,所以我需要能够快速连接到它。
“好吧,”我想,“我将只在 Linux 上使用 Element,尽管 Element 不如 Pidgin 可访问,并且只将 Irssi 用于 IRC。” 第二天,有史以来最大的一记耳光以雷鸣般的结局击中了我,结束了我对 Linux 的尊重和大部分的爱。
结束
更新Fedora后,发现翻了几页,Chromium浏览器就不能用了。Orca 可以看到 Chrome 用户界面,但看不到网页。无奈之下,我尝试了 Microsoft Edge 和 Brave。这两个都有同样的问题。我严重依赖个人资料来区分家庭、全职工作和兼职工作。是的,要分开很多。Firefox 无法将所有这些分开并在它们之间快速切换。因此,怀着沉重的心情,在上班前几个小时,我重新安装了 Windows 并开始整理我的东西。
那么,其他人是怎么做到的呢?
我之前提到过,我不是唯一的盲人 Linux 用户。其他人使用不同的策略来应对 Linux 的可访问性差。
• 窗口管理器:一些使用带有自定义脚本的 Rat-poison 来消除 Mate 的任何衰减或拥有更轻的系统。
• CLI:有些人尽可能多地使用 CLI,将 X11 用于 Web 浏览器。
• 回退:当像 Pidgin 这样的东西消耗了太多内存时,它们就会回退到 IRSSI。我听说过甚至只是将 Android 作为桌面系统运行。
结论
撰写本文的目的是将重点放在 Linux 桌面的可访问性上。随着 Raspberry Pi 计算机在学校中越来越普及,我希望盲人学生能够享受学习编码、管理系统和探索计算的乐趣。我希望盲人能够在学习计算机的过程中成长到这样的地步,当他们 20 岁出头时,他们可以构建应用程序,为旧系统制作仿真层,或者自动化他们的工作。我希望盲人孩子有我没有的机会。此外,我希望他们能够学习 Python,而不是 Quorum。我希望他们了解 Linux 的内部结构,而不是为了每个高级设置或更改而与 Windows 抗争。如果一个盲人厌倦了他们专为盲人设计的工作,
对于有视力的计算机爱好者来说,所有这些情况或多或少都是容易的。事实上,The Odin Project 根本不支持使用 Windows,而是希望您从一开始就使用 Linux。您还可以使用 macOS 或 ChromeOS。这表明用不了多久,成为一名开发人员就意味着使用 Linux。与其他任何群体相比,残障人士应该能够迈出第一步。我们常常一贫如洗,要么没有工作,要么从事的是一份低薪的入门级工作,没有迹象表明可以提升价值链,也无法使用技术来帮助我们的日常生活。我们只需要开源社区足够关心来清理他们开始的可访问性混乱。

]]>
2 https://bbs.viyf.org/?thread-index-fid-6-tid-230.htm https://bbs.viyf.org/?thread-index-fid-6-tid-230.htm
LINUX下查看程序进程对应端口方法 https://bbs.viyf.org/?thread-index-fid-6-tid-127.htm https://bbs.viyf.org/?thread-index-fid-6-tid-127.htm Sun, 05 Feb 2023 11:02:30 +0800 armstrong 用[hide]netstat -anp[/hide]命令,会输出类似下面的行:

Active UNIX domain sockets (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:523                 0.0.0.0:*                   LISTEN      4275/db2dasrrm      
tcp        0      0 0.0.0.0:812                 0.0.0.0:*                   LISTEN      2750/rpc.statd      
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      2730/portmap        
tcp        0      0 0.0.0.0:50000               0.0.0.0:*                   LISTEN      3091/db2tcpcm 0     
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      2884/cupsd          
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      3103/sendmail: acce 
tcp        0      0 127.0.0.1:6010              0.0.0.0:*                   LISTEN      3814/1              
tcp        0      0 192.168.1.161:50000         192.168.1.161:34663         ESTABLISHED 9757/db2agent (JKGL 
tcp        0      0 192.168.1.161:50000         192.168.1.161:36871         ESTABLISHED 4457/db2agent (JKGL 
tcp        0      0 :::9444                     :::*                        LISTEN      5140/java  

其中上面红色的为进程号,由进程号可推知是程序在使用的端口,如果想知道是什么程序,可使用下命令:

ps -ef|grep PID
 

]]>
用[hide]netstat -anp[/hide]命令,会输出类似下面的行:

Active UNIX domain sockets (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:523                 0.0.0.0:*                   LISTEN      4275/db2dasrrm      
tcp        0      0 0.0.0.0:812                 0.0.0.0:*                   LISTEN      2750/rpc.statd      
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      2730/portmap        
tcp        0      0 0.0.0.0:50000               0.0.0.0:*                   LISTEN      3091/db2tcpcm 0     
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      2884/cupsd          
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      3103/sendmail: acce 
tcp        0      0 127.0.0.1:6010              0.0.0.0:*                   LISTEN      3814/1              
tcp        0      0 192.168.1.161:50000         192.168.1.161:34663         ESTABLISHED 9757/db2agent (JKGL 
tcp        0      0 192.168.1.161:50000         192.168.1.161:36871         ESTABLISHED 4457/db2agent (JKGL 
tcp        0      0 :::9444                     :::*                        LISTEN      5140/java  

其中上面红色的为进程号,由进程号可推知是程序在使用的端口,如果想知道是什么程序,可使用下命令:

ps -ef|grep PID
 

]]>
2 https://bbs.viyf.org/?thread-index-fid-6-tid-127.htm https://bbs.viyf.org/?thread-index-fid-6-tid-127.htm
转载,[干货]为什么杀不掉应用,详解Android的后台管理机制 https://bbs.viyf.org/?thread-index-fid-6-tid-233.htm https://bbs.viyf.org/?thread-index-fid-6-tid-233.htm Wed, 01 Feb 2023 16:13:04 +0800 AllenLI Android系统长期存在应用后台管理机制。在多数人的认知中,应用分前台和后台。最简单的判别方式:显示界面的应用就是前台应用,在运行不显示界面的应用就是后台应用。
安卓十多年发展至今,应用数量庞大,实现的功能各不相同,那么简单的后台机制肯定无法满足需求。本篇图文详细解释一下Android的后台管理机制。具体分三节。
目录:

• 
Android后台机制的根本-内存管理:应用状态分级、LMK机制、与其他系统的区别。
• 
为什么后台应用关不掉:应用保活、自唤醒、关联启动。
• 
斩杀恶性应用的利剑:后台纯净、切断唤醒、持剑人Google的手段。


一、Android后台管理的根本
安卓内存管理方案:
Android沿用了Linux的内存管理方案,为低内存回收机制。与开多少就占用多少的Windows不同,Android是你不开应用,也会占用内存。在空载状态下,Android P占用下限约为500mb(大概,我测试可以正常运行),上限为设备物理内存的1/2,即开机占用一半内存。
而安卓应用不存在关闭一说,退出之后仍然会留在内存中。直至剩余内存过低,才会由系统机制将其杀掉,回收它占用的那部分内存。
了解应用状态的分级:

• 
foreground 前台。设备当前运行的应用,你打开什么软件,前台应用就是什么,很容易理解吧。
• 
visible 可见。与前台类似,同样可以显示在屏幕上,让用户看到,以及交互操作,如输入法、浮窗。
• 
secondary 次级。后台运行的服务,通常占用资源不大,但用户很需要其功能,比如各家系统的云服务。
• 
hidden 后台。后台运行的进程,在应用运行时直接按下home键,应用仍在运行。如果应用的优化没做好,那么将占用大量资源。
• 
content_provider 内容。与用户关系不大,通常感知不强。
• 
empty 空白。应用已经停止运行,没有进程与服务,只留下一个缓存,确保下一次打开时更迅速。

  上述六种状态,越往下,重要性越低,越容易被杀掉。
Android后台的杀手-Low Memory Killer:
应用在后台运行,固然可以增加启动速度,或便于推送信息,但内存大小和电池容量都不是无限的。当后台一多,就会拖累性能,降低续航。系统自然不可能坐以待毙,等着内存爆满死机。Android系统使用了的低内存杀后台机制LowMemoryKiller,以下简称lmk。
  可以看到,lmk对每个应用状态都有对应数值。当剩余内存大小达到数值时,lmk就会杀掉对应状态的应用,以释放内存。若杀掉应用,剩余内存仍然不足,便会继续杀掉上一个状态级别的应用,以此类推。一直杀到前台应用,这便会造成正运行的应用或游戏闪退。
  当然,目前安卓机动辄4g、8g内存的时代,能让lmk杀到前台的应用应该不存在了吧,除非是出现bug。
应用在后台占用的资源:
在固有印象中,安卓后台应用一多,就会十分卡顿。因为应用运行是要消耗硬件资源的,不论前台和后台。可能在500mb内存的时代没有那么明显的感知,因为内存太小,应用留不住后台。但从安卓机进入了1g、2g内存的时代,这个缺陷就一下子暴露出来了:后台杀不死,杀死后自启动,一个应用拖好几条进程,一条进程又有好几项服务,堪称群魔乱舞。此现象持续了至少六年。
  那这些应用消耗的是哪些资源呢?看上文的后台分级,这些应用一般属于次级或后台,与前台应用一样运行,会占用CPU运算资源,数据操作会占用闪存的读写资源,这两项就足以死死卡住设备,使其无法正常运行。这些资源总量是一定的,在当时性能普遍不强时,资源用一点就少一点,后台占用大了,前台自然要卡。
空载:
后台开启百度地图:
  此时已经卡到没法正常运行了,各种动画掉帧。
Android与其他系统后台的区别:
对于各个系统的应用,一般可以用两种状态来表示:Android分为“运行”和“停止”,iOS分为“前台”和“冻结”,Windows分为“启动”和“关闭”。
解释一下:iOS的特点是冻结式后台,即应用留后台但不运行,只有前台应用能运行。这样可以做到打开应用时秒开,但退入后台也不消耗资源,只占用内存;Windows特点是打开哪个应用,哪个应用就运行,点击关闭就停止运行,并清出内存。
内存占用也是与后台有关,旧时Android日常会占用50%;iOS内存在开机不久会爆满,始终居于95%以上;而Windows则是应用多大,内存占用就多大,没有应用时占用很低。
win空载占用
还有一个Windows Phone系统,是Microsoft基于win为智能手机设计的系统,它的特点不是杀死,而是限制,对后台应用数量限制,对每个应用占用内存限制。这种单个体小,个体总数少的限制,是非常简单且有效的,逼开发者不得不优化。不愧是你,微软。

二、为什么后台应用关不掉?
有些用户会刻意关闭后台,以释放内存或增加续航,但发现无法关闭后台运行的应用。这是什么原因呢?来详细分析一下后台管理手段与应用的关系。
首先看一下后台界面。
在这个界面中,可以展示出你打开过的应用,并生成缩略图。前面说过,安卓应用不存在关闭,退出后应用会进入后台运行。这个界面,可以手动停止后台的应用进程,就是点击那个×号,或在高版本上是滑动。但此行为并不等同于强行停止!
这个界面并不是强制性停止应用,而是清理掉应用的界面,并通知应用,应该停止自己的后台进程了。至于停止哪些服务,就是应用自己说了算。旧时安卓这个机制问题真的很大,尤其Android K-N,和恶意应用对线简直被爆锤。当时定制化系统对这些机制进行了修改,划掉卡片即强行停止,才能对恶意应用进行反击。
应用保活:
应用的开发者为了一些功能运行,或是一些利益原因,会对应用的后台进程进行保护,防止被杀掉,此行为称为应用保活。
常见的保活手段,就是留通知。在通知栏中留一条不可清除的通知,即可实现避免被杀。即便你在后台界面划掉了卡片,只要这条通知还在,那么这项服务就在,可以随时拉起主进程,继续运行。这样的应用有很多,比如在通知栏里放个资讯窗口、搜索框,就是这种思路。
最直接的保活手段,就是向用户请求权限。在定制系统上,通常会有“允许应用在后台运行”权限,应用可以找一个正当的借口,让用户主动把这个权限打开,就能在后台畅通无阻的运行了。
除此之外还有一些奇妙操作,比如建立透明悬浮窗,可以直接提高应用状态分级,就难以被lmk杀掉;进程守护,一个应用建立几个进程,有一个进程掉了,立马由另外一个进程拉起来;还有更强的,以毫秒级速度不停尝试拉起自己的进程,这种方法甚至可以无视强行停止(只要我启动的够快,强行停止就关不掉我),这已经是破坏型行为了。
应用唤醒:
应用会通过一些方式,在用户未手动打开的情况下自行启动,即应用唤醒,也称应用自启动。此时没有前台界面,启动的只是进程与服务。
Android应用开发时,会给应用加上BroadcastReceiver(广播接收器,以接收系统的广播),以对一些状态作出对应的响应,比方说此设备收到电话,系统就会发出广播“来电话了”,应用“拨号”就会自启动,响铃提醒用户接听。存储空间低于一定量时,系统会发广播,文件管理类应用会提示用户清理文件以释放空间。合理使用可以使应用极大提升功能性,但不合理使用的话,就是给用户找麻烦。
借用知乎老哥的图。可以看出百度云会接收图中的广播,实现自启动。WiFi更改、存储变动时自启动也就罢了,毕竟功能联网还要依赖存储,但收发短信、拨打电话还要启动干什么呢?安装卸载应用时也启动,充电断电也启动,你是多么怕自己的服务拉不起来啊?即便杀掉了后台,没一会又自启了,跟没杀一样。
关联启动:
应用的广播接收器,不止可以接收系统的广播,也可以接收其它应用的广播,从而被其他应用拉起。此现象称为关联启动,或链式启动。
关联启动的常见场景:在“手机淘宝”中购买某件商品,选择付款方式支付宝付款,那么就可以直接拉起“支付宝”的应用界面,进行付款操作。
而不合理的使用场景,对于长期的安卓用户应该都深有感知了吧,拉起其他应用的后台服务,收集用户数据,推送广告。
可以看到,同一家的应用之间都会自动唤醒,保持后台活跃。这有什么用吗?我也不知道啊 一开始的时候就是如此,后期此现象愈演愈烈,一些公司推出了关联SDK,只要你接入了此SDK,有接入相同SDK的应用启动,就会顺带拉起你的应用。
链式启动成为了一种交♂易:“接入我的SDK吧,你的应用可以享受后台杀不掉的待遇,消息直达,数据收集无阻碍。”于是,大量的应用开始接入这种SDK,后台是不掉了。
开发者笑嘻嘻,可苦了用户,后台杀也杀不掉,停止了还能自启、链起。内存不大的机子,在那么多的应用下不停的触发lmk杀后台,刚杀掉就又起来了,陷入死循环,致使负载居高不下,续航也是血崩。
三、斩杀恶性应用的利剑
对于那些恶性应用,就只看着它们胡作非为、为所欲为吗?当然不行。反击之战早已打响,垃圾应用们,接招!
斩杀 - 应用后台进程:后台纯净机制
后台纯净并不是Android官方提出的说法,而是第三方定义的一种应用状态。即应用退出到后台,不留下任何无用服务(无用指用户用不到),全部归进缓存(即上文分级中的空白进程)。既不拖累系统性能,也能实现启动时秒开。
此说法来自于绿色公约,也就是说绿色公约中的应用可以做到这一点。但几年过去,自愿遵守的公约已成为来自Google强制的规定。如你当前运行的系统为Android O及以上,且应用目标API在26以上,那么该应用退出后便可以进入缓存,实现无损保后台。
你可以尝试打开应用,使用主页键退出应用界面,进入系统设置-开发者选项-正在运行的服务,观察是否有刚才应用的进程和服务。然后点击右上方的显示缓存,是否有刚才应用的缓存。如果没有进程服务,只留下了一个百来mb大小的缓存进程,那么这个应用就大概符合后台纯净了。
能看出,我常用的应用均支持后台纯净。
当然万事无绝对,比如一个音乐播放器,在播放音乐,退出之后肯定要留一条进程的,毕竟后台还要运行的,不能说它不支持后台纯净。

还有一些奇怪的事情,就是内存显示错误,有时应用占的内存会直接算进系统占用里面,不知是逻辑bug还是应用的奇妙操作,如图:


斩杀 - 链式启动:切断唤醒
为了应对应用的自启动和链式启动,在早期的安卓定制系统中,提供了应用自启动的开关,由用户控制自启动。
关闭此开关,则系统会屏蔽应用的广播接收,使其无法通过广播自启。
对于非深度定制系统,并没有这类限制。如果有root权限,可以使用工具 【My Android Tools】 ,手动管理应用的各种组件,不但可以关闭广播接收器,也能控制应用的后台服务。有用不到、但却在运行的服务,可以直接停掉。
如果有xposed框架,则可以使用 【应用管理Xposed】 ,功能更多,效果更强,操作更简单。
后台应用,就应该有后台的样子。有些应用进入后台还不安分,不停交换数据,拖慢速度,吃掉大量资源。最过分的是唤醒锁,使设备无法休眠。那么目标已明确,就是降低它们对资源的占用。
自安卓8开始,系统对于后台应用进行了一次整治。如果系统是安卓8,且应用的目标API是26及以上,那么这个应用会自动实现后台纯净。若应用API低于26,则可以到 开发者选项-后台检查 中手动限制,若不需要这个应用的后台,则关闭即可。
到了安卓9,限后台就更狠了。智能待机上线,可根据应用使用频率、使用时间进行自动化管理,分活跃、工作、常用、极少这几个等级,为后台分配不同的资源。这也是为什么用过一段时间的机子,续航比新机还长的原因,就是机器学习记录了你的使用习惯。

如果是不规范应用,迟迟不适配新特性呢?Google还有更绝的招式。在Android P上还提供了后台限制功能,若应用的API较低,且在后台有大量进程,或长时间控制唤醒锁,系统将会在通知栏将应用列出,提示为:**应用正在后台耗电 之类的,用户可以对其进行一键限制。这个限制可不是前文所说的限制分配资源,而是直接禁止应用的一切后台,禁止应用的一切响应,退出即停止。
此限制也可由用户手动打开,在设置-应用-查看全部应用,找到要限制的应用,高级-电池-后台限制,点击限制,世界都清净了。
另一种方法: 【App Ops】 中更改应用权限,“在后台运行”这个权限在安卓9是这样的
严格限制就是上面的限制应用。API在26及以上的应用默认为基础限制,低于26的应用默认为不限制,用户都可以手动更改为严格限制。
能看出来,越是原生系统,干扰越少,不存在白名单,越能体现出开发者的优化水平。优化越垃圾,在原生ROM上越是挂不住后台,推不出消息。比如我的机子,就从来收不到酷安的消息通知。
斩杀 - 恶性应用最后的倔强:Google的手段
从这几次底层的大改动可以看出,Google已经要大力整治这些恶性应用了,可以说是无差别打击,只要不规范,就要受波及。
后台限制,就是你能规范起来,那你可以在后台合理运行,不影响功能,用户的体验也不会受损,你好我也好。如果就是头铁,就想跟系统比划比划,那好,后台直接别运行了,你一个功能都实现不了。
play商店有着强制要求,目标API必须在26以上,且很快就要成为28。这就意味着应用想不规范都不行,API越高,应用受约束越多。不提升API?也行,我不会给你下架,但我会禁止你发布更新 如果你能做到永远不更新,那你可以这么做。
如果不上架play商店呢?毕竟Google管不到第三方分发渠道。没关系,我不能禁止你分发,但我能干扰你运行。已知API低于23,运行时会提示风险应用,谨慎使用。API远低于当前系统,为了兼容运行,我会降低你的一些性能 还不能抢占国际市场,完全得不偿失啊!

四、文末的闲聊
总有人抱怨安卓生态太差,跟竞争者iOS相比落后太多,这样比较就有失公允了。想想iOS的出身,苹果早在上个世纪就设计了mac操作系统,针对优化十几年,积累了大量经验,并有了一定的生态基础,设计iOS系统自然十分轻松,打好iOS生态也没啥压力。
反观Android,一个Linux内核,从零开始制作系统,且最开始还不是为智能手机设计的。这样的一个存在,经历了几年发展,体量竟是完全压着iOS打,应用数量多于iOS,市场占有量更是iOS的数倍。
如果这样还不能理解,再看看Windows,发展数十年,生态依旧稀烂权限管理混乱、uwp生态半残。这样是不是就感觉到Android的强大了?
-问:如何正确查看剩余内存?
-答:设置-开发者选项-正在运行的服务,点击右上方的“显示缓存进程”,即可查看真实剩余内存。剩余内存大小一般在lmk的最大值再多一点。通常是几百mb。
-问:我就是不想让应用留后台,就想看到剩余内存大大的?
-答:设置-开发者选项 拉到底,后台进程限制,改为不允许后台进程。简单概括:剩余极大,体验极差。
-问:现在手机内存到底几g合适?
-答:要我说,3g勉强,4g足矣,6g有余,8g巅峰。12g 16g?方向错了。厂商不想着优化好,净想着比友商参数好看,成本压不下来,最后用户买旗舰机还要提高预算。
-问:文章太长懒得看,给总结一下?
-答:杀后台只有 lmk机制 和 用户手动停止。安装应用API越高越好,剩余内存越少越好。至于优化,自己爬回去看完。

]]>
Android系统长期存在应用后台管理机制。在多数人的认知中,应用分前台和后台。最简单的判别方式:显示界面的应用就是前台应用,在运行不显示界面的应用就是后台应用。
安卓十多年发展至今,应用数量庞大,实现的功能各不相同,那么简单的后台机制肯定无法满足需求。本篇图文详细解释一下Android的后台管理机制。具体分三节。
目录:

• 
Android后台机制的根本-内存管理:应用状态分级、LMK机制、与其他系统的区别。
• 
为什么后台应用关不掉:应用保活、自唤醒、关联启动。
• 
斩杀恶性应用的利剑:后台纯净、切断唤醒、持剑人Google的手段。


一、Android后台管理的根本
安卓内存管理方案:
Android沿用了Linux的内存管理方案,为低内存回收机制。与开多少就占用多少的Windows不同,Android是你不开应用,也会占用内存。在空载状态下,Android P占用下限约为500mb(大概,我测试可以正常运行),上限为设备物理内存的1/2,即开机占用一半内存。
而安卓应用不存在关闭一说,退出之后仍然会留在内存中。直至剩余内存过低,才会由系统机制将其杀掉,回收它占用的那部分内存。
了解应用状态的分级:

• 
foreground 前台。设备当前运行的应用,你打开什么软件,前台应用就是什么,很容易理解吧。
• 
visible 可见。与前台类似,同样可以显示在屏幕上,让用户看到,以及交互操作,如输入法、浮窗。
• 
secondary 次级。后台运行的服务,通常占用资源不大,但用户很需要其功能,比如各家系统的云服务。
• 
hidden 后台。后台运行的进程,在应用运行时直接按下home键,应用仍在运行。如果应用的优化没做好,那么将占用大量资源。
• 
content_provider 内容。与用户关系不大,通常感知不强。
• 
empty 空白。应用已经停止运行,没有进程与服务,只留下一个缓存,确保下一次打开时更迅速。

  上述六种状态,越往下,重要性越低,越容易被杀掉。
Android后台的杀手-Low Memory Killer:
应用在后台运行,固然可以增加启动速度,或便于推送信息,但内存大小和电池容量都不是无限的。当后台一多,就会拖累性能,降低续航。系统自然不可能坐以待毙,等着内存爆满死机。Android系统使用了的低内存杀后台机制LowMemoryKiller,以下简称lmk。
  可以看到,lmk对每个应用状态都有对应数值。当剩余内存大小达到数值时,lmk就会杀掉对应状态的应用,以释放内存。若杀掉应用,剩余内存仍然不足,便会继续杀掉上一个状态级别的应用,以此类推。一直杀到前台应用,这便会造成正运行的应用或游戏闪退。
  当然,目前安卓机动辄4g、8g内存的时代,能让lmk杀到前台的应用应该不存在了吧,除非是出现bug。
应用在后台占用的资源:
在固有印象中,安卓后台应用一多,就会十分卡顿。因为应用运行是要消耗硬件资源的,不论前台和后台。可能在500mb内存的时代没有那么明显的感知,因为内存太小,应用留不住后台。但从安卓机进入了1g、2g内存的时代,这个缺陷就一下子暴露出来了:后台杀不死,杀死后自启动,一个应用拖好几条进程,一条进程又有好几项服务,堪称群魔乱舞。此现象持续了至少六年。
  那这些应用消耗的是哪些资源呢?看上文的后台分级,这些应用一般属于次级或后台,与前台应用一样运行,会占用CPU运算资源,数据操作会占用闪存的读写资源,这两项就足以死死卡住设备,使其无法正常运行。这些资源总量是一定的,在当时性能普遍不强时,资源用一点就少一点,后台占用大了,前台自然要卡。
空载:
后台开启百度地图:
  此时已经卡到没法正常运行了,各种动画掉帧。
Android与其他系统后台的区别:
对于各个系统的应用,一般可以用两种状态来表示:Android分为“运行”和“停止”,iOS分为“前台”和“冻结”,Windows分为“启动”和“关闭”。
解释一下:iOS的特点是冻结式后台,即应用留后台但不运行,只有前台应用能运行。这样可以做到打开应用时秒开,但退入后台也不消耗资源,只占用内存;Windows特点是打开哪个应用,哪个应用就运行,点击关闭就停止运行,并清出内存。
内存占用也是与后台有关,旧时Android日常会占用50%;iOS内存在开机不久会爆满,始终居于95%以上;而Windows则是应用多大,内存占用就多大,没有应用时占用很低。
win空载占用
还有一个Windows Phone系统,是Microsoft基于win为智能手机设计的系统,它的特点不是杀死,而是限制,对后台应用数量限制,对每个应用占用内存限制。这种单个体小,个体总数少的限制,是非常简单且有效的,逼开发者不得不优化。不愧是你,微软。

二、为什么后台应用关不掉?
有些用户会刻意关闭后台,以释放内存或增加续航,但发现无法关闭后台运行的应用。这是什么原因呢?来详细分析一下后台管理手段与应用的关系。
首先看一下后台界面。
在这个界面中,可以展示出你打开过的应用,并生成缩略图。前面说过,安卓应用不存在关闭,退出后应用会进入后台运行。这个界面,可以手动停止后台的应用进程,就是点击那个×号,或在高版本上是滑动。但此行为并不等同于强行停止!
这个界面并不是强制性停止应用,而是清理掉应用的界面,并通知应用,应该停止自己的后台进程了。至于停止哪些服务,就是应用自己说了算。旧时安卓这个机制问题真的很大,尤其Android K-N,和恶意应用对线简直被爆锤。当时定制化系统对这些机制进行了修改,划掉卡片即强行停止,才能对恶意应用进行反击。
应用保活:
应用的开发者为了一些功能运行,或是一些利益原因,会对应用的后台进程进行保护,防止被杀掉,此行为称为应用保活。
常见的保活手段,就是留通知。在通知栏中留一条不可清除的通知,即可实现避免被杀。即便你在后台界面划掉了卡片,只要这条通知还在,那么这项服务就在,可以随时拉起主进程,继续运行。这样的应用有很多,比如在通知栏里放个资讯窗口、搜索框,就是这种思路。
最直接的保活手段,就是向用户请求权限。在定制系统上,通常会有“允许应用在后台运行”权限,应用可以找一个正当的借口,让用户主动把这个权限打开,就能在后台畅通无阻的运行了。
除此之外还有一些奇妙操作,比如建立透明悬浮窗,可以直接提高应用状态分级,就难以被lmk杀掉;进程守护,一个应用建立几个进程,有一个进程掉了,立马由另外一个进程拉起来;还有更强的,以毫秒级速度不停尝试拉起自己的进程,这种方法甚至可以无视强行停止(只要我启动的够快,强行停止就关不掉我),这已经是破坏型行为了。
应用唤醒:
应用会通过一些方式,在用户未手动打开的情况下自行启动,即应用唤醒,也称应用自启动。此时没有前台界面,启动的只是进程与服务。
Android应用开发时,会给应用加上BroadcastReceiver(广播接收器,以接收系统的广播),以对一些状态作出对应的响应,比方说此设备收到电话,系统就会发出广播“来电话了”,应用“拨号”就会自启动,响铃提醒用户接听。存储空间低于一定量时,系统会发广播,文件管理类应用会提示用户清理文件以释放空间。合理使用可以使应用极大提升功能性,但不合理使用的话,就是给用户找麻烦。
借用知乎老哥的图。可以看出百度云会接收图中的广播,实现自启动。WiFi更改、存储变动时自启动也就罢了,毕竟功能联网还要依赖存储,但收发短信、拨打电话还要启动干什么呢?安装卸载应用时也启动,充电断电也启动,你是多么怕自己的服务拉不起来啊?即便杀掉了后台,没一会又自启了,跟没杀一样。
关联启动:
应用的广播接收器,不止可以接收系统的广播,也可以接收其它应用的广播,从而被其他应用拉起。此现象称为关联启动,或链式启动。
关联启动的常见场景:在“手机淘宝”中购买某件商品,选择付款方式支付宝付款,那么就可以直接拉起“支付宝”的应用界面,进行付款操作。
而不合理的使用场景,对于长期的安卓用户应该都深有感知了吧,拉起其他应用的后台服务,收集用户数据,推送广告。
可以看到,同一家的应用之间都会自动唤醒,保持后台活跃。这有什么用吗?我也不知道啊 一开始的时候就是如此,后期此现象愈演愈烈,一些公司推出了关联SDK,只要你接入了此SDK,有接入相同SDK的应用启动,就会顺带拉起你的应用。
链式启动成为了一种交♂易:“接入我的SDK吧,你的应用可以享受后台杀不掉的待遇,消息直达,数据收集无阻碍。”于是,大量的应用开始接入这种SDK,后台是不掉了。
开发者笑嘻嘻,可苦了用户,后台杀也杀不掉,停止了还能自启、链起。内存不大的机子,在那么多的应用下不停的触发lmk杀后台,刚杀掉就又起来了,陷入死循环,致使负载居高不下,续航也是血崩。
三、斩杀恶性应用的利剑
对于那些恶性应用,就只看着它们胡作非为、为所欲为吗?当然不行。反击之战早已打响,垃圾应用们,接招!
斩杀 - 应用后台进程:后台纯净机制
后台纯净并不是Android官方提出的说法,而是第三方定义的一种应用状态。即应用退出到后台,不留下任何无用服务(无用指用户用不到),全部归进缓存(即上文分级中的空白进程)。既不拖累系统性能,也能实现启动时秒开。
此说法来自于绿色公约,也就是说绿色公约中的应用可以做到这一点。但几年过去,自愿遵守的公约已成为来自Google强制的规定。如你当前运行的系统为Android O及以上,且应用目标API在26以上,那么该应用退出后便可以进入缓存,实现无损保后台。
你可以尝试打开应用,使用主页键退出应用界面,进入系统设置-开发者选项-正在运行的服务,观察是否有刚才应用的进程和服务。然后点击右上方的显示缓存,是否有刚才应用的缓存。如果没有进程服务,只留下了一个百来mb大小的缓存进程,那么这个应用就大概符合后台纯净了。
能看出,我常用的应用均支持后台纯净。
当然万事无绝对,比如一个音乐播放器,在播放音乐,退出之后肯定要留一条进程的,毕竟后台还要运行的,不能说它不支持后台纯净。

还有一些奇怪的事情,就是内存显示错误,有时应用占的内存会直接算进系统占用里面,不知是逻辑bug还是应用的奇妙操作,如图:


斩杀 - 链式启动:切断唤醒
为了应对应用的自启动和链式启动,在早期的安卓定制系统中,提供了应用自启动的开关,由用户控制自启动。
关闭此开关,则系统会屏蔽应用的广播接收,使其无法通过广播自启。
对于非深度定制系统,并没有这类限制。如果有root权限,可以使用工具 【My Android Tools】 ,手动管理应用的各种组件,不但可以关闭广播接收器,也能控制应用的后台服务。有用不到、但却在运行的服务,可以直接停掉。
如果有xposed框架,则可以使用 【应用管理Xposed】 ,功能更多,效果更强,操作更简单。
后台应用,就应该有后台的样子。有些应用进入后台还不安分,不停交换数据,拖慢速度,吃掉大量资源。最过分的是唤醒锁,使设备无法休眠。那么目标已明确,就是降低它们对资源的占用。
自安卓8开始,系统对于后台应用进行了一次整治。如果系统是安卓8,且应用的目标API是26及以上,那么这个应用会自动实现后台纯净。若应用API低于26,则可以到 开发者选项-后台检查 中手动限制,若不需要这个应用的后台,则关闭即可。
到了安卓9,限后台就更狠了。智能待机上线,可根据应用使用频率、使用时间进行自动化管理,分活跃、工作、常用、极少这几个等级,为后台分配不同的资源。这也是为什么用过一段时间的机子,续航比新机还长的原因,就是机器学习记录了你的使用习惯。

如果是不规范应用,迟迟不适配新特性呢?Google还有更绝的招式。在Android P上还提供了后台限制功能,若应用的API较低,且在后台有大量进程,或长时间控制唤醒锁,系统将会在通知栏将应用列出,提示为:**应用正在后台耗电 之类的,用户可以对其进行一键限制。这个限制可不是前文所说的限制分配资源,而是直接禁止应用的一切后台,禁止应用的一切响应,退出即停止。
此限制也可由用户手动打开,在设置-应用-查看全部应用,找到要限制的应用,高级-电池-后台限制,点击限制,世界都清净了。
另一种方法: 【App Ops】 中更改应用权限,“在后台运行”这个权限在安卓9是这样的
严格限制就是上面的限制应用。API在26及以上的应用默认为基础限制,低于26的应用默认为不限制,用户都可以手动更改为严格限制。
能看出来,越是原生系统,干扰越少,不存在白名单,越能体现出开发者的优化水平。优化越垃圾,在原生ROM上越是挂不住后台,推不出消息。比如我的机子,就从来收不到酷安的消息通知。
斩杀 - 恶性应用最后的倔强:Google的手段
从这几次底层的大改动可以看出,Google已经要大力整治这些恶性应用了,可以说是无差别打击,只要不规范,就要受波及。
后台限制,就是你能规范起来,那你可以在后台合理运行,不影响功能,用户的体验也不会受损,你好我也好。如果就是头铁,就想跟系统比划比划,那好,后台直接别运行了,你一个功能都实现不了。
play商店有着强制要求,目标API必须在26以上,且很快就要成为28。这就意味着应用想不规范都不行,API越高,应用受约束越多。不提升API?也行,我不会给你下架,但我会禁止你发布更新 如果你能做到永远不更新,那你可以这么做。
如果不上架play商店呢?毕竟Google管不到第三方分发渠道。没关系,我不能禁止你分发,但我能干扰你运行。已知API低于23,运行时会提示风险应用,谨慎使用。API远低于当前系统,为了兼容运行,我会降低你的一些性能 还不能抢占国际市场,完全得不偿失啊!

四、文末的闲聊
总有人抱怨安卓生态太差,跟竞争者iOS相比落后太多,这样比较就有失公允了。想想iOS的出身,苹果早在上个世纪就设计了mac操作系统,针对优化十几年,积累了大量经验,并有了一定的生态基础,设计iOS系统自然十分轻松,打好iOS生态也没啥压力。
反观Android,一个Linux内核,从零开始制作系统,且最开始还不是为智能手机设计的。这样的一个存在,经历了几年发展,体量竟是完全压着iOS打,应用数量多于iOS,市场占有量更是iOS的数倍。
如果这样还不能理解,再看看Windows,发展数十年,生态依旧稀烂权限管理混乱、uwp生态半残。这样是不是就感觉到Android的强大了?
-问:如何正确查看剩余内存?
-答:设置-开发者选项-正在运行的服务,点击右上方的“显示缓存进程”,即可查看真实剩余内存。剩余内存大小一般在lmk的最大值再多一点。通常是几百mb。
-问:我就是不想让应用留后台,就想看到剩余内存大大的?
-答:设置-开发者选项 拉到底,后台进程限制,改为不允许后台进程。简单概括:剩余极大,体验极差。
-问:现在手机内存到底几g合适?
-答:要我说,3g勉强,4g足矣,6g有余,8g巅峰。12g 16g?方向错了。厂商不想着优化好,净想着比友商参数好看,成本压不下来,最后用户买旗舰机还要提高预算。
-问:文章太长懒得看,给总结一下?
-答:杀后台只有 lmk机制 和 用户手动停止。安装应用API越高越好,剩余内存越少越好。至于优化,自己爬回去看完。

]]>
0 https://bbs.viyf.org/?thread-index-fid-6-tid-233.htm https://bbs.viyf.org/?thread-index-fid-6-tid-233.htm
分享最新的解说。 https://bbs.viyf.org/?thread-index-fid-10-tid-231.htm https://bbs.viyf.org/?thread-index-fid-10-tid-231.htm Wed, 18 Jan 2023 12:29:48 +0800 乾坤 来自之心乐园]]> 来自之心乐园]]> 1 https://bbs.viyf.org/?thread-index-fid-10-tid-231.htm https://bbs.viyf.org/?thread-index-fid-10-tid-231.htm 庆祝社区有了一百人,我来告诉大家那个秘密 https://bbs.viyf.org/?thread-index-fid-3-tid-157.htm https://bbs.viyf.org/?thread-index-fid-3-tid-157.htm Sun, 01 Jan 2023 10:04:49 +0800 armstrong [hide]

1. 当你的级别达到“校园初中生”,就会看到“海底世界”这个板块,这里非常自由,几乎没有什么限制。可以讨论有关XX软件的话题,以及你对一些事情的看法。

2. 当你的级别达到“校园初中生”,就可以在“海底世界”的置顶帖中,申请取消手机号绑定。

[/hide]

]]>
[hide]

1. 当你的级别达到“校园初中生”,就会看到“海底世界”这个板块,这里非常自由,几乎没有什么限制。可以讨论有关XX软件的话题,以及你对一些事情的看法。

2. 当你的级别达到“校园初中生”,就可以在“海底世界”的置顶帖中,申请取消手机号绑定。

[/hide]

]]>
30 https://bbs.viyf.org/?thread-index-fid-3-tid-157.htm https://bbs.viyf.org/?thread-index-fid-3-tid-157.htm
很感谢大家一直以来的支持 https://bbs.viyf.org/?thread-index-fid-3-tid-229.htm https://bbs.viyf.org/?thread-index-fid-3-tid-229.htm Fri, 30 Dec 2022 03:26:18 +0800 armstrong 我这段时间一直在忙别的事情,都没顾得上这里,已经好久没来了。上来发现并没有我猜想的人去楼空,真的很感谢大家的支持。

我这几天可能会弄一下搜索框,要不找帖子也很麻烦是吧哈哈。

]]>
我这段时间一直在忙别的事情,都没顾得上这里,已经好久没来了。上来发现并没有我猜想的人去楼空,真的很感谢大家的支持。

我这几天可能会弄一下搜索框,要不找帖子也很麻烦是吧哈哈。

]]>
1 https://bbs.viyf.org/?thread-index-fid-3-tid-229.htm https://bbs.viyf.org/?thread-index-fid-3-tid-229.htm
大家好,请问怎么设置外接声卡为默认声卡。请指教!先谢谢了! https://bbs.viyf.org/?thread-index-fid-12-tid-228.htm https://bbs.viyf.org/?thread-index-fid-12-tid-228.htm Fri, 30 Dec 2022 03:25:02 +0800 英子jx 如题,重装了系统,声卡不是默认在外接声卡上了。但是不会设置。请大家指教。谢谢!

]]>
如题,重装了系统,声卡不是默认在外接声卡上了。但是不会设置。请大家指教。谢谢!

]]>
4 https://bbs.viyf.org/?thread-index-fid-12-tid-228.htm https://bbs.viyf.org/?thread-index-fid-12-tid-228.htm
大家上午好 https://bbs.viyf.org/?thread-index-fid-3-tid-227.htm https://bbs.viyf.org/?thread-index-fid-3-tid-227.htm Fri, 23 Dec 2022 10:59:28 +0800 秋天 我看看能不能发帖

]]>
我看看能不能发帖

]]>
0 https://bbs.viyf.org/?thread-index-fid-3-tid-227.htm https://bbs.viyf.org/?thread-index-fid-3-tid-227.htm
刚刚注册的账号测试一下 https://bbs.viyf.org/?thread-index-fid-3-tid-225.htm https://bbs.viyf.org/?thread-index-fid-3-tid-225.htm Thu, 22 Dec 2022 20:10:43 +0800 夏天的风 想问大家一个最初级的问题我打开了一个帖子然后怎么退出呢、

我怎么按退格键不管用呢、还有esc键

]]>
想问大家一个最初级的问题我打开了一个帖子然后怎么退出呢、

我怎么按退格键不管用呢、还有esc键

]]>
1 https://bbs.viyf.org/?thread-index-fid-3-tid-225.htm https://bbs.viyf.org/?thread-index-fid-3-tid-225.htm