看到2999,我找出了Alist和Raidrive将云盘免费变成本地硬盘
看到2999只可以买到2T+2T的家庭存储网盘时,我毅然决定还是找免费的解决方案代替吧。今天给大家介绍一种将你的云盘挂载到电脑当本地硬盘使用的方法,可使用空间比2T+2T大多了,还不用担心硬盘挂掉导致数据丢失。
Alist,它是一个支持多存储的文件列表程序,支持日常使用的几乎所有云盘,支持Linux、Mac OS、Windows、Docker、OpenWRT等等,它是github上的开源项目,
项目地址:
我们首先下载安装Alist将我们注册的云盘聚合在一起,
将Alist的最新发行版本v2.6.4下载到Windows电脑上,
下载链接:
如果是32位系统,请下载相应的版本,
解压到C盘或者C盘上的程序目录,我习惯放在C:\Program Files,放在这个目录需要注意管理员权限问题,
进入alist的安装目录,选择alist的执行文件,点击鼠标右键,选择以管理员身份运行,
出现防火墙设置对话框时,按照自己电脑的实际情况做放行,
然后CMD命令行对话框会自动打开,
返回结果
返回结果中高亮的部分是你的登录密码,记下来备用,
或者,以管理员身份打开CMD命令行,进入alist的安装目录,输入命令:
返回结果
注意保持黑窗口开启状态,不要关闭,一旦关闭,进程就结束了。
接下来解决这种黑窗口模式运行,官方文档的解决方案时使用如下.vbs脚本启动,
start.vbs
stop.vbs
打开记事本,将start.vbs的代码复制粘贴到新建文档中,
保存为“start.vbs”,
再次打开记事本,将stop.vbs的代码复制粘贴到新建文档中,
保存为“stop.vbs”,
注意要将start.vbs和stop.vbs与alist的执行文件放在同一个目录下,
点击start.vbs,应用就可以在后台启动了,
可以在任务管理器里查看到进程,
但是怎么样让alist开机自动启动呢?一个方法是这样的,
进入alist的安装目录,选择start.vbs,点击鼠标右键,选择创建快捷方式,
创建好之后是这样的,由于我演示的电脑优化过,文件名称没有快捷方式,也不现实快捷方式的箭头,你也可以看文件类型来区别,
然后搜索run,并打开,
在对话框内输入命令,
回车,会跳出一个新的文件资源管理器窗口,
将刚刚创建的快捷方式拖入这个文件夹,下次电脑开机alist就会自动运行了;
另一个方法适合像我这样的小白,是可视化互交操作,我们先去下载一个软件SrvanyUI,这是一个Windows系统下可以自建用户服务的小程序,软件作者的博客地址:https://wangye.org/blog/archives/644/,
下载后解压到C盘,
双击srvanyui运行,
点击左上角“+”添加,
选择自建服务,并以此填写,
服务名称:Alist MultiStorage Files Listing Program
内部标识:alist
程序路径:点击“浏览”,找到alist安装目录,选择alist-windows-4.0-amd64.exe执行文件,点击“打开”
启动参数:server
启动方式:自动(保持默认)
点击确定,alist应用便添加为windows用户服务,就可以和其他windows服务一样开机自启了。
点击“是”,服务启动,让我们到windows服务中去验证一下,
打开windows服务,可以看到alsit正在运行中,
你可以通过菜单上的启动、停止、暂停和恢复来控制alist应用。
Linux系统安装alist,我们可以选择用官方的一键脚本安装,
打开终端,切换到root用户
输入用户密码时不显示
输入一键脚本安装命令,
开始下载,
安装成功,
将配置文件路径和初始管理密码记录下来,备用,
一键脚本中包括了守候进程,安装后即可开机自启,并可以通过命令来控制alist
另外还有两个命令可以控制守候进程,
如果防火墙处于开启状态,需要执行以下步骤,
首先查看防火墙状态,
没有5244端口,我们需要放行这个端口,
添加防火墙规则,放行5244端口,
重启防火墙,让规则生效,
再次查看端口是否放行成功,
5244端口已经放行,我们用命令查看一下alist是否在正常运行,
在Docker中安装alist,以群晖为例,
打开群晖Docker套件,在左侧菜单中选择“注册表”,
在搜索框里输入“alist”,
在搜索结果中选择“xhofe/alist”,这是官方映像,
双击开始下载,选择最新版本,
在左侧菜单栏选择“映像”,查看下载结果,
双击alist映像,开始创建容器,选择“使用已选择的网络”,点击“下一步”,
容器名称自定义,选择“启用自动重新启动“,点击”下一步“,
设置本地端口,优先使用5244端口,也可以自定义其他未占用端口,点击“下一步“,
点击“添加文件夹”,
在Docker目录下,创建一个新文件夹,命名为“alist”,点击”确定“,
选择刚刚创建的文件夹“alist”,
装载路径设为/opt/alist/data,点击“下一步”,
点击“完成”,开始创建容器,创建完成后,容器自动开始运行,
在左侧菜单栏选择“容器”查看新创建好的容器,
点击容器,查看详情,
在菜单栏选择“日志”,查看容器运行是否正常,在日志中查看登录用户名和初始密码,记下来备用,
容器运行正常,但有一个报错,原因是我的群晖已经安装了一个aria2,占用了6800端口,这不影响正常使用。
Alist运行正常,接下来,我们开始配置网盘,
在本机打开浏览器,输入 http://127.0.0.1:5244,也可以http://ip:5244
输入安装应用过程中生成的管理密码,
首先设置web界面,在左侧菜单的“设置”中选择“前端”,正常情况下保持默认即可,等你使用熟练后也可以根据你的实际情况来设置,
在“设置”的后端选项中,有几项需要设置,
“密码”、“WebDAV username”和“WebDAV password”、“Visitor WebDAV username”和“Visitor WebDAV password”,
接下来是添加云盘账号,在左侧菜单中选择账号,
首先添加阿里云盘,点击“添加”,“类型”在下拉菜单中选择“阿里云盘”,
在“虚拟路径”中添加“阿里云盘”或者你自定义的名称,
“索引”是你添加的所有云盘的总排序,你可以自定义,默认零是根据你添加云盘的顺序来排列,
用浏览器打开alist官方文档说明网页,
在左侧菜单中选择“添加账号”,转到阿里云盘添加说明,或者直接打开链接,
点击“Get Token”,
打开手机上的阿里云盘扫描这个二维码,
扫描成功并确认登录后,点击“Use AliyunDrive APP To Scan Then Click”,稍等片刻会出现“Refresh Token”,复制下来,
回到alist设置页面,将复制的Refresh Token粘贴到“刷新令牌“,
打开浏览器登录阿里云盘,选择你需要挂载的子目录,将地址栏中/folder/之后的字符串复制下来,
粘贴到“根目录file_id”,如果你需要挂载整个阿里云盘,将“根目录file_id”留空即可,
点击“保存”,完成阿里云盘的挂载,
再次打开http://127.0.0.1:5244(不要有@manage/settings/0),你就可以访问刚刚挂载好的阿里云盘了。
其他的云盘如google drive、onedrive、天翼云盘、和彩云盘、百度网盘等等,按照官方文档中的设置指引来配置即可,有的云盘配置相对比较繁琐,但是配置成功后便一劳永逸,需要保持耐心。
alist官方文档说明网页:
至此,Alist的安装设置全部完成。接下来,安装设置把这些云盘挂载到电脑当本地硬盘一样使用的工具RaiDrive。
首先到官网下载RaiDrive,官网地址:
在“订阅”页面你可以发现这是一款商用软件,提供收费和免费两种方案,主要区别是更多地网盘支持以及硬盘符的区别,对一般使用来说没有什么区别,所以我们当然是选择免费方案,
下载,
根据官方指引,运行RaiDrive的必要条件是
.NET 6.0.6 (.NET 桌面运行时) 或更高版本
Microsoft Visual C++ 2015-2022 Redistributable
Microsoft Edge WebView2 Runtime
安装RaiDrive会自动检测并安装,你也可以通过页面的链接先行安装,
最新的版本是2022.6.56,根据你的windows系统选择x86还是x64,
下载完成后,进入下载目录,双击安装,
安装程序检测运行环境,这里保持默认就可以,
检测到我的电脑系统必须安装的环境,
安装Microsoft Visual C++,同意安装,
安装过程中需要重启电脑,
系统重启后,安装程序自动恢复,
运行环境安装成功后,回到RaiDrive安装界面,点击“下一步”,
选择安装目录,可以保持默认,需要同意安装条款,然后点击“下一步”,
开始安装,
安装向导在运行中,
需要安装这个虚拟设备,点击“安装”,
点击“完成”,
安装完成后,RaiDrive会自行启动,点击“添加”,将alist上的云盘挂载为本地硬盘,
在“服务类型”选项中选择NAS,你会发现“WebDAV”选项,
选择要挂载的盘符,默认从Z盘开始,
输入卷标,比如“我的云盘”,
在“地址”栏取消安全连接的对勾,你会发现https://会变为http://,
输入安装有alist应用的电脑IP地址和端口号,如果是本地也可以用127.0.0.1代替,
如果安装alist应用的电脑上装有DDNS(参考我的相关教程),也可以用解析的主机名称来代替,
在“路径”输入“dav”,
输入在alist管理界面设置中的“WebDAV username”和“WebDAV password”,然后点击“连接”,
连接成功后,会自动打开文件资源管理器对话框,你在alist添加的所有云盘都会出现在这里,
在RaiDrive界面是这样的,你可以停止连接,也可以更改设置,以及打开文件资源管理器,
我的电脑会多一个Z盘,直接双击就可以访问、读写你挂载的云盘内容,收费版本的试用期阶段,你挂载的云盘同时会显示在“设备和驱动器”栏,和本地硬盘一模一样,
点击“设置”,你可以设置语言,
在设置选项中需要注意“临时目录”,这是一个缓存文件目录,如果你需要长时间传输影视资料等超大文件时,需要很多的缓存空间,所以如果C盘剩余空间不大的话,你可以把缓存目录放在其他剩余空间比较大的盘上,并且定期清理。
利用RaiDrive,你也可以把群晖的共享文件夹挂载为本地硬盘,前提是你的群晖要安装WebDAV套件并开启服务,这个与挂载alist不同的是,
一是群晖WebDAV支持http和https两种连接方式,默认的端口分别是5005和5006,
二是在“路径”选项中直接填写要挂载的共享文件夹名称,不是alist的“dav”,
挂载成功后是这样的,
最后一点要说明的是,alist和RaiDrive都是开机自启,RaiDrive启动后自动连接alist,如果alist启动稍慢的话,会出现连接不成功的情况,如果是这样,你可以将RaiDrive设置为“延迟启动”再修改注册表来解决,但是不建议这样做,因为这会影响所有“延迟启动”的应用,拖慢你这个电脑的启动速度。
如果出现连接不成功的情况,解决方案超简单,点击“三角箭头”,重新连接一次。
这期分享就到这里了,如果教程对你有用,欢迎关注学驿站,可以学习更多的电脑、网络和数码使用技巧。
Android用户必看!开发者选项都有啥用?
前不久CFan曾向大家介绍了Android手机的隐藏模式(详见《除了开发者选项 Android手机还有哪些隐藏模式?》),今天小编就兑现诺言,将开发者选项中常见功能的作用进行解读。
在各大手机品牌中,华为/荣耀旗下手机开发者选项中集成的功能最丰富(包含常规功能、调试、网络、输入、绘图、硬件、媒体、监控、应用共计9大功能模块),所以本文我们就以EMUI/Magic UI系统为例,详细了解其开发者选项中各个设置的功能和意义。
***常规功能***
手机厂商往往会将一些原本应该处于系统设置,但又因为使用率不高的功能转移到开发者选项的常规功能列表中,这部分设置的开与关不会对系统稳定性造成影响。
常规功能
开发人员选项
控制开发者选项整体功能的开关,只有当这个勾选处于开启状态才能使用开发者选项中涉及的功能。当你激活开发者模式后,平时建议将其设定在关闭状态,可以最大限度避免可能的安全风险。
内存
如今主流价位手机标配内存都是4GB起步,而顶级旗舰则可武装最高12GB的内存容量。那么,到底多大的内存才够我们“折腾”?在开发者选项→内存中,我们就能看到关于内存使用量的统计,它能以3小时、6小时、12小时和1天为单位,查看你调用了多少APP和内存的平均使用量,点击“各应用使用的内存”还能看到APP在某个时间段内占用内存量的排行。
从笔者手机平均4GB左右的内存使用量来看,6GB起步的内存才算够用。当然,对于4GB内存的手机,其后台管理机制也会更加激进,它们会通过随时清理后台驻留的APP来调节可用剩余内存的冗余量,日常使用也很难出现卡顿和内存不够用的情况。只能说,内存容量越多,系统可调用内存的冗余越高,你就能在后台锁定更多常用的APP保证其时刻处于运行状态。
提交错误报告
当系统出现Bug或不稳定的现象时,可以通过该功能生成“互动式报告”和“完整报告”并将其提交给相关人员,主要用于手机上市前测试人员的反馈,和普通消费者关系不大。如果你平时已经启动了系统设置中的“用户体验改进计划”,那就更不用理会这个提交错误报告的功能了。
锁屏
当关闭锁屏功能时(需要先输入锁屏密码进行验证),每次按下电源键就能直接进入系统。但是,关闭锁屏的同时,你此前添加的指纹、人脸识别信息都会被瞬间清空,银行等支付类APP使用指纹登录和指纹支付时都需要重新添加指纹和进行验证,如需必要千万不要选择关闭!
桌面备份密码
如果你不希望自己手机的桌面信息随便被别人备份,可以通过这个选项对其加密。不过,随着指纹和人脸识别功能的引入,这个选项已经没有什么实际意义了。
保持唤醒状态
打开该功能时,当手机处于充电状态时屏幕将始终处于亮屏状态,而无需我们进入显示设置中修改熄屏时间,适合炒股期货的盯盘、长时间追剧和看小说的用户。不过,考虑到OLED材质屏幕长时间显示相同画面存在烧屏的隐患,不建OLED屏幕手机长期使用这项功能。
开启蓝牙HCI信息收集日志
打开这项功能后,蓝牙设备与手机相连时发送的数据包都会被记录下来,主要用于开发人员进行测试和Bug的修复,普通用户可以无视之。
正在运行的服务
我们可以将这个功能理解为Windows系统中的任务管理器,在这里你能知道所有驻留后台的应用以及它们所衍生出的各项服务所占用内存的情况,点进某项服务后可随时强制关闭运行。
WebView实现
很多APP都内置了Web网页,而WebView实现的主要作用就是通过谷歌浏览器和相关服务去加载网页,对普通用户而言基本无意义。
启动多进程WebView
开启这项功能后可有效增加APP的运行内存,减少由WebView引起的内存泄露对主进程内存的占用,可有效避免主进程闪退的问题。但是,由于多进程WebView占用更多内存也容易触发系统回收机制,导致每次将APP切换到后台再调出时都会重新启动,所以同样不建议普通用户开启。
自动系统更新
OEM厂商会不定期推出固件升级来提升性能和稳定性,又或是增加新功能修复Bug。但如果你是一个“念旧”的人,或是觉得当前系统版本非常好用,担心新固件出现费电或其他潜在的问题,关闭这项功能后系统就不会自动“偷偷”更新了。
演示模式
打开演示模式后,系统会删除顶部状态栏内除了信号,时间,电池信息以外的其他通知和功能图标,电量也将始终显示在100%的状态,以便我们做出更“干净”的截图,非常适合媒体评测时使用。
***调试***
调试相关功能主要用于比较专业的玩家和开发者,普通用户与其接触最多的就是“USB调试模式”,打开它是手机通过PC进行高级操作的前提条件。
调试
USB调试
开启USB调试功能后,手机在与PC相连时就能使用ADB命令进行系统级文件/程序的修改、写入和删除、清除锁屏密码等,很多刷机类软件也需要手机在开启该功能后才能正确识别出手机型号。站在安全的角度来看,除非必要,USB调试模式应该始终处于关闭状态。
撤销USB调试授权
手机通过USB调试与PC互动前需要授权PC使用USB调试的权限,如果你曾在朋友家、手机维修店、打印店等场合连接过PC且授权过USB调试权限,可以通过这项设置取消对这些PC的授权,下次连接需要重新点击允许授权的确认按钮。
连接USB时总是弹出提示
手机通过USB线与PC连接时总会弹出让你在仅充电、传输文件和传输照片等模式间选择的窗口。如果你不希望每次都看到这个窗口,将这项功能关闭即可,日后连接PC想修改USB连接模式时,可以通过下拉菜单找到相关通知的方式再进行选择。
监控ADB安装应用
在USB调试模式下,手机可以通过PC端的ADB命令安装任意第三方应用。如果你的手机经常与PC“互动”,打开这个选项可以降低PC端软件偷偷在手机里安装恶意应用的风险,只有经过你同意ADB命令才能安装应用成功。
”仅充电“模式下允许ADB调试
在打开这项功能时,手机与PC连接后无论处于哪种传输模式都能使用ADB命令。如果该功能关闭,在“仅充电”模式下连接PC会没有反应。
选择模拟位置信息应用
类似于系统预装的“位置穿越”功能,但支持该功能的APP非常少,笔者手机里安装了数十个APP,但只有途牛在该项功能的列表中,可见其并没有什么意义。很多第三方虚拟位置的APP都能实现类似功能,而且兼容更多APP。
开启视觉属性检查功能
专业开发人员用于Android系统视图(存储在数据库中的查询的SQL语句)属性的检测,对普通用户而言没有任何意义,建议始终保持关闭状态。
选择待调试应用
用于PC端对手机内置APP进行调试的功能,厂商一般不会开放给个人用户,该选项默认处于灰色不可选的状态。
等待调试器
在上面功能的基础上,调试应用会在执行前等待附加的调试器,同样处于不可选状态。
通过USB验证应用
一种通过ADB安装软件时的安装机制,默认处于开启状态,打开USB调试功能后可以手动关闭,但建议保持在默认启动的状态。
日志记录器缓冲区大小
该功能主要是用于给工程师反馈手机使用信息与记录便于分析问题,对普通用户无用,可将其设定在更小的64KB节省空间。
阳光下可读性提升
类似于对屏幕亮度的“超频”,在日光下进一步提升屏幕的最高亮度,以便用户在户外也能看清屏幕里的内容,只是在这个模式下色彩可能会出现偏色泛白的问题,是通过降低屏幕显示质量换取更清晰显示的功能。
***网络***
虽然名为网络,但在这个框架下的开发者功能却涉及到方方面面,但总体还是以有线/无线的连接和网络设置为主。
网络
开启WLAN详细日志功能
开启该功能后,系统会自动记录你所连接过所有Wi-Fi热点的SSID(热点名称)和RSSI(信号强度),可为开发人员优化网络参数设置提供参考,对普通用户而言意义不大。
始终开启移动数据
打开后,手机的4G网络将始终开启,当Wi-Fi信号不佳时可能会自动切换到4G网络,通过消耗流量换取更好的上网质量。如果你每月流量套餐总是不够用,请谨慎开启此类功能。
启动双卡4G
如今新款Android的基带芯片都支持双卡双4G,并将其作为默认的网络参数设置。如果你觉得双4G存在费电的小缺陷,可以在这里选择将其关闭。
网络共享硬件加速
在使用手机自建热点分享网络时,打开这个功能可以通过处理器、基带芯片和射频天线优化信号的强度和稳定性。如果你经常使用手机做热点,建议该功能始终处于开启状态。
选择USB配置
在这里可以自定义手机通过数据线与PC连接时默认的传输模式,指定最常用的模式后,每次连接手机就无须手动切换了。
显示没有名称的蓝牙设备
很多专业或私密的蓝牙设备默认是没有名称的,使用蓝牙搜索时根本看不到。开启这项功能后,就能搜到上述蓝牙设备的MAC地址,通过这个信息就能锁定需要连接的蓝牙设备。
启用默认铃声
当我们使用蓝牙耳机听歌时,如果遇到来电总是使用手机喇叭播放来电铃声(为了防止没有佩戴蓝牙耳机而错过重要通话)。开启这项功能时,来电时铃声就能通过蓝牙耳机播放出来了。
蓝牙音频解码器
蓝牙解码器通常包含SBC、AAC、aptX、aptx HD和LDAC,音质依次提升。
我们可以根据当前蓝牙耳机选择其所兼容的最好的解码器,从而确保最佳的音质表现。换句话说,蓝牙耳机越高端,可选的解码器种类越多(下同)。有些品牌手机的开发者选项中所有蓝牙解码器都处于可选状态,但只有蓝牙耳机自身支持对应的解码器才能获得应有的音质。
蓝牙音频抽样率
理论上抽样率(采样率)越大音质越好,但如果你经常用蓝牙耳机听在线歌曲(流媒体),存在非整数倍src问题,支持aptX或LDAC的耳机需要手动将采样率设置在44.1kHz时才能确保最佳的音质。当然,如果你主要听本地歌曲,那就需要调高采样率了。
蓝牙音频样本量化位数
这项设置参数的数值越高,音质越好,只是它同样受制于当前连接的蓝牙耳机品质,越高端可选的样本量化位数越高。
蓝牙音频频道模式
如果不是单耳的会议用蓝牙耳机,想要好音质就请始终设定在立体声模式下吧。
蓝牙音频LDAC播放质量
在连接高端 LDAC蓝牙音频设备时才能修改LDAC播放质量,如果你注重音质可选990kbps传码率传输的媒体音频流,如果周边无线设备太多干扰严重,则可设定为自动调节媒体音频流的传输速率,以达到最好的音质效果但又不至于发生断连等现象。
蓝牙音频HWA播放质量
HWA是华为主导的高清蓝牙传输协议,只有蓝牙音频外设支持HWA才能调节。
蓝牙音频HWA延迟
只有蓝牙音频外设支持HWA才能调节,可起到降低延迟的效果。
最大蓝牙音频连接个数
手机可以同时连接的蓝牙音频设备个数,比如同时接驳1个蓝牙耳机、2个蓝牙音箱,好处是方便即时切换省去了重新连接的麻烦,缺点是记混了声音会从错误的蓝牙音频设备上播放出来。所以大家可以根据家里的蓝牙设备数量和自身习惯加以选择。
蓝牙绝对音量
蓝牙耳机往往都有独立的音量调节按钮,当你打开这项功能后,蓝牙耳机自身的音量调节将失效,手机当前的音量就是蓝牙耳机的音量。
***输入***
开发者选项的输入功能主要用于演示之用,普通用户无需和它们打交道。
显示触摸操作
打开这个功能时,当手指碰到屏幕时会出现类似鼠标指针的圆圈,利用它录制操作手机的视频时,可以让观看者看到更详细的操作过程,知道你每一步点击的都是什么位置。
指针位置
这项功能可以记录手指每一次在屏幕上移动的X轴Y轴和运动轨迹,看起来比较杂乱,可以用于判断屏幕某一位置触控操作的灵敏度,或是否存在触控失灵的问题。打开该功能,手机操作的流畅度会明显降低,所以请谨慎开启。
***绘图***
绘图主要收录了和Android系统相关的显示调节功能,其中有不少可以提升体验的设置选项。
绘图
显示面(surface)更新
打开这项功能后,屏幕画面每刷新一次就会出现一次粉色的闪屏,非常晃眼,普通用户千万不要开启。
显示布局边界
该功能主要适用于应用开发者,开启后你将能看到任意APP和当前设置界面的底层布局,可用于查找Bug或是用于自己开发APP时的参考。普通用户还是不要打开为妙,看着杂乱还会影响系统速度。
窗口动画缩放
当我们打开某个APP,或是APP打开新窗口时,都存在一个过渡的动画切换特效。在这里,我们可以修改这个窗口动画缩放的倍数,关闭动画可以带来秒开的体验,只是缺少了过渡可能存在一些唐突之感。建议将该选项设置在0.5X,速度和动画效果可以兼顾,如果倍数过大就会出现慢动作的感觉。
过渡动画缩放
和上面的设置思路相同,建议设定在0.5X倍,以获得更流畅的感官体验。
动画程序试长调整
和上面的设置思路相同,建议设定在0.5X倍,以获得更流畅的感官体验。
模拟辅助显示设备
打开该功能可以在手机屏幕里出现1个或2个可自定义分辨率的镜像窗口,没什么实际意义,体验和实用性远不如分屏功能,所以不建议大家尝试。
最小宽度
在这里可以修改屏幕显示的DPI,数值越大,同屏可以显示的内容也就越多,文字也就变得越小。
记住默认的DPI后,大家可以按照20为单位,逐渐调大或缩小,从而找到最适合屏幕实际大小和观赏习惯的DPI值,如果发现文字过大、过小或窗口图标被挤压导致显示混乱,修改回默认的数值即可。
***硬件***
开发者模式中的硬件部分涉及到调用部分GPU性能和功能,有需要的玩家可以尝试开启体验。
硬件
强制进行GPU渲染
开启这个功能后可以挖掘GPU的最大潜力,强制让其进行2D绘图,对手机的反应速度和性能有着一定的增益效果。但是,GPU的强制渲染会带来额外的耗电和潜在的兼容问题,不推荐长时间开启。
显示GPU视图更新
该功能和前文提到的显示面(surface)更新相似,只要画面内容出现变化就会不断的闪屏,普通用户请不要开启。
显示硬件层更新
开启后,只要画面中涉及Flash硬件运行时屏幕就会变绿,主要用于开发人员的调试之用,普通用户同样不必理它。
调试GPU过度绘制
针对开发人员的调试功能,用于测试页面布局层次是否合理,处于默认的关闭状态即可。
调试非矩形剪裁操作
和上面的设置相同,都是开发人员才会用到的选项。
强制启用4X MSAA
类似于PC游戏设置中的抗锯齿功能,打开它以后,手机在玩OpenGL ES2.0游戏时可看到更平滑的画面。当然,该设置也存在额外的耗电,而且非OpenGL ES2.0图形接口的游戏就无缘享受了。
停用HW叠加层
开启这项功能后,GPU将强制接替CPU的工作,全程使用GPU进行图片叠加等操作。如果GPU足够强大,可以获得更流畅的画面,但如果GPU性能一般则存在卡顿的风险,而且相对更加耗电。综合来看,停用HW叠加层还是处于默认的关闭状态更加合理。
模拟颜色空间
对色盲或色弱的用户,在这里可以自定义颜色空间,在全色盲、绿色弱视、红色弱视或蓝色弱视间任意切换,从而找到最适合自己的颜色模式。对普通用户而言,可以尝试全色盲模式,此时屏幕将以黑白灰三色显示,让手机瞬间变成“电子墨水屏”,结合护眼模式看电子书时更舒服。
设置GPU渲染程序
谷歌在Android 8.0时代引入了全新的Skia GPU渲染引擎,只是它的兼容性和适用性还不够完美,所以建议不要修改这项设置,让系统以默认的OpenGL引擎渲染即可。
***媒体***
在媒体中只有“关闭USB音频转接”一个选项,它的用途是切断USB接口连接音频外围设备的联系。比如,打开该功能后,使用USB音频线与音箱相连时,音箱将无法出声。因此,这个选项大家尽量不要碰,让它处于默认的未启动状态即可。
媒体
***监控***
开发者选项中的监控功能,都是方便开发人员检测和修复Bug的工具,而我们也能借助它们测试手机当前的稳定性和流畅度表现。
监控
严格模式已开启
严格模式又称StrictMode,它是用来检测程序中违例情况的开发者工具,最常见的场景就是检测主线程中本地磁盘和网络读写等耗时的操作。开启该功能后,只要当前运行的APP出现内存泄露、长时间的磁盘读取/写入和网络操作屏幕就会闪烁,将违例细节暴露给开发者方便优化与改善。
GPU呈现模式分析
这个功能常被玩家称为判断手机系统卡顿与否的“玄学曲线”,将GPU呈现模式分析设定在“在屏幕上显示为条形图”后,你就会发现手机屏幕上出现了无数道彩色的线条组成的波形图,从左到右动态显示。
每一道垂直的线条代表一帧的渲染,随着需要渲染的帧数越来越多,我们也就可以观察到这段时间帧率的变化了。理论上讲,只要有多竖线长时间超过了位于波形图上方绿色的标记线,就代表着你看到的动画有丢帧现象产生。
换句话说,GPU呈现模式分析存在的初衷就是帮助开发人员,通过多色线的变化对APP进行有针对性的优化。一套系统、一款应用,只有在运行的绝大多数时间都能保持彩色线条不越过标记线才算完美。
***应用***
开发者选项中的应用功能主要都是用于APP调度的机制,很多设置都与省电管理、后台管理等预设的功能相冲突,所以请谨慎尝试。
应用
不保留活动
当我们按下返回或主页键回到桌面,之前正在运行的APP并没有关闭,它只是被转入后台,我们可以通过点击应用图标或最近任务的小窗口重新回到这个APP,这种多任务处理的机制便于我们随时在多个应用间切换,从而大幅提高效率。当开启“不保留活动”功能后,所有转入后台的程序都会被自动查杀(切换时需要重新加载运行),哪怕你已经将其设定在后台清理程序的白名单中。换句话说,打开该选项时手机将进入“单任务”模式,可以最大限度起到省电的作用。
后台进程限制
如今手机内存都是4GB起步,省电模块中也都集成了行之有效的后台管理机制,强制开启不保留活动实有浪费之嫌。此时,大家可以通过后台进程限制,指定后台最多可以同时运行多少程序(无限制、0~4个),较之上面的功能更加人性化和灵活一些。比如将微信和QQ添加到后台清理的白名单,再在后台进程限制中设置为2,这两个应用以外的APP只要转到后台就会被自动清理。
显示所有“应用无响应”(ANR)
打开该功能后,当后台应用因省电机制或其他原因被查杀或崩溃时,系统就会弹出一个对话框,提示当前应用程序无响应,此时用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。如果你不希望被无端打扰,这项功能最好处于关闭状态。
未启用的应用
在这里你可以看到后台所有程序和服务的列表,并显示它们当前是否处于被打开的状态。不过,如今Android手机大都在安全中心中提供了和关联唤醒有关的设置,它要比开发者选项中的未启用的应用更加直观和好用。所以,这项功能基本可以无视。
强制允许将应用写入外部存储设备
这项功能主要用于Android 5.0以前的老款手机,从Android 6以后的手机即便支持存储卡扩充,默认的应用安装路径也都是内置存储空间,存储卡只能保存拍摄的照片和下载/缓存的多媒体文件,开启这项功能也没有效果。
强制将活动设为可调整大小
很多Android手机都支持分屏,但并非所有APP都支持这项功能。打开“强制将活动设为可调整大小”,绝大多数APP就都能兼容分屏功能了,只是部分游戏类APP在强制分屏时会出现黑屏或闪退问题。
重置Shortcut Manager速率限制计数器
当APP转入后台时,其操作的频率是受限的,打开这个功能后重置这种显示,主要用于开发人员的调试之用,如果个人用户不小心点击重置了也没什么不好的影响。
小提示
如果你不小心修改了开发者选项中的某个设置而出现系统问题,可以点击最下方的“恢复默认设置”,然后重启手机后就能解决。
如何在服务器上安装SSL证书,让你的网站变成https
本文适合任何人了解,图形化操作。下面以腾讯云为例,并且服务器(linux)也安装了宝塔面板。
1.登陆腾讯云账号进入控制台,找到SSL的产品
2.按要求申请并填写表单,记住私钥密码
3.提交后,待腾讯审核,如果颁发后,直接下载
4.根据你服务器上安装的web服务软件,选择对应的目录(我这里的是apache)
5.打开宝塔面板,找到对应的站点
6.打开选择的站点进行设置,选择SSL,再选"其他证书"
7.把下载下来的证书,打开后缀key的复制粘贴到宝塔证书的(密钥)key,2打头的crt后缀的放到PEM(证书)上,一定要”强制HTTPS“的开关打开。
8.清理一下浏览器缓存,打开之前的http的站点就会自动变成https了。
补充: 之前用APP的webview打开不是SSL站点的H5很容易被HTTP劫持强行放入广告,有了HTTPS这个就阻止了,还有一个就是配置了HTTPS后,对接支付宝的H5支付,回调不起来,关掉HTTPS又能正常回调,这个也是我踩过的一个坑,之前调试这个记录和查了这么久的日志。
关于支付宝H5支付回调配置HTTPS失效的解决方法,目前博主也在查找,同时也非常欢迎大家留言提供解决,下一期又有分享会了!
桌面应用的多种跨平台方式
众所周知,个人PC安装的操作系统主要有三种:Windows、MacOS、Linux(像Chrome OS这种小众的就不计较了),国产操作系统例如UOS、Deepin、优麒麟等大多是基于Linux定制开发的系统。随着国产化替代的推进以及Mac电脑在开发设计领域逐渐受到欢迎,Windows的老大哥地位越来越不稳固,考虑到完善生态是各家面向大众推广的重要一环,跨平台开发应用便是其行之有效的手段。下面列举三种跨平台的方式。
Java Virtual Machine
JVM是Java应用运行所依赖的虚拟机,Java宣称的“write once, run anywhere”就是靠JVM实现。得益于Linux服务器的高市场占有率,众多的Java Web应用被开发出来通过JVM运行在Linux服务器之上,也因此Java程序员的比例非常高,就业最容易。常见的场景是,Java开发人员在个人电脑(大多是Windows系统)上编程,然后打包部署到Linux服务器。可能是因为Java的前端框架SWT、Swing等上手不太容易,GUI界面不够美观,所以Java桌面应用是比较少的,虽然也有例如Eclipse这样的明星级应用。
CoreCLR是微软.NET框架的虚拟机,也就是说C#程序依赖它来运行。微软一开始的跨平台框架叫做.NET Core,后来与.NET Framework大一统发布了.NET 5,2021年发布了.NET 6。名字确实更简洁了,但微软随意命名的作风一直被人诟病,希望以后不要再改了,像Java一样几十年如一日,现在已经持续发展到Java17了。
值得一提的是,.NET有一个开源版本Mono也是跨平台的,Mono最初由Xamarin公司(前身是Novell公司)开发,2016年被微软收购。著名的游戏引擎Unity就运行在Mono之上,但是Mono整体上不如.NET强大,C#的很多新特性在.NET上支持得更好,Unity也有意迁移,替换掉Mono。
Flutter
Qt可谓是跨平台的佼佼者,综合考量界面统一美观、稳定性、性能等,Qt是当前桌面跨平台应用开发的不二之选。Qt通过封装底层操作系统API,交叉编译后生成对应平台的动态链接库(.dll或.so)和静态链接库(.lib或.a),然后打包时将这些库放入安装包内,所以Qt应用的安装包会稍微有点大。
2017年谷歌推出的Flutter也是交叉编译,只不过UI层是通过Skia图像渲染引擎进行自绘渲染,3D方面甚至可通过OpenGL、DirectX等使用到硬件加速功能,界面效果更加炫酷。Flutter开发使用的是Dart语言,提到Dart又一个小插曲,就是来自于Mozilla的Rust语言,Rust没有GC,防内存泄漏方面却远胜于其他语言,也易上手学习;与Dart相比之下,网络上有人提议为什么不用Rust将Flutter重写,这种提议得到了很多人响应,Flutter+Rust组合确实看起来很美好。Rust其实也可以跨平台,它有一个框架叫Tauri,有兴趣的条友可自行研究下。
交叉编译是一种很靠谱的方式,但开发环境的搭建往往异常复杂,使用到的开发工具种类多且体积大,总体来说对开发人员的要求较高。
NodeJS的出现掀起了前端领域的腥风血雨,使JavaScript真正成为了全栈语言,因为NodeJS让JavaScript不仅仅只运行在浏览器中,还可以让它具备访问操作系统API的能力,做很多浏览器不能做的事情。Electron框架就打包了NodeJS作为运行时环境,以及Chromium浏览器内核,这样极大降低了Web应用改造成桌面应用的成本,微软开发VSCode就是一个强大的Electron跨平台应用,有在线和本地两种形态。但是,微软似乎对Electron仍不太满意,发布的新版Edge浏览器,使用了一种webview2控件,webview2有独立和嵌入式两种版本,感觉独立版本可以当作JS虚拟机安装到各家操作系统上,以后JS跨平台应用就不用再将Chromium和NodeJS打包进自身安装包内了,这样就大大降低了安装包的体积。
除了Electron,React Native也是JS跨平台阵营的一员大将,尤其是2019年微软推出了React Native for Windows,更是让React Native在PC端也可以大放异彩。微软真是跨平台领域的模范生,到处都可见它的身影,危机感很浓烈呀......
Python的GUI框架也有很多种,内置的有tkinter,其他框架有wxPython、PyQt5等,但是Python的桌面应用做着玩,做些小应用什么的还可以,大型应用从兼容性、稳定性等方面考虑,不建议使用Python。
脚本语言是边解释边执行,这是一把双刃剑,虽然开发速度快,但是对内存等计算机资源的占用却比较高,Election应用太耗内存这是不争的事实,这跟浏览器打开太多页签会占用过多内存导致卡顿是一样的道理。
总结一下,虚拟机是服务端常用的方式,现代虚拟机也已优化的足够好了,在桌面领域跨平台,Qt是一种潜意识中比较靠谱的方式,如果开发团队实力没问题,Qt往往是首选的方式;Electron是当前比较流行的方式,有很多成功的范例;但是,我个人倾向于webview2这种方式,因为WebAssembly、WebGL这些技术的发展使得Web应用和原生应用的差距越来越小,再加之Web渲染器也能呈现比较美观的界面,开发难度也小,未来与Flutter一较高下也未尝不可。