▲UAC提示框
但是,让用户每次启动迅雷都弹一个UAC的提示框,体验实在太差。何况很多用户启动迅雷只是为了打开下载好的文件,并不进行下载。这种死板的做法就被否了。
解决方案B:
这时,我们有个比较熟悉Windows的开发想到,Windows的系统服务是可以直接获得管理员权限的,迅雷创建一个系统服务,专门用来帮忙申请磁盘空间不就好了吗?
于是迅雷就开发了“XLServicePlatform”服务,当迅雷需要申请大于100MB的磁盘空间时,就通过这个服务进行申请。
这样一来,就在不弹出UAC提示框的前提下,把问题解决了。
问题再现:
但是最近这段时间,我们发现越来越多的用户反映,用迅雷下载大文件的时候“电脑很卡、没速度、磁盘繁忙”等问题。
经过跟许多用户远程协助发现,他们的“XLServicePlatform”服务都被停止了。于是迅雷无法通过服务申请磁盘空间,导致下载大文件时,需要等待Windows初始化磁盘。
奇怪的是,用户都说自己没有手动停止过这个服务。
后来我们发现,这些用户都安装了“360安全卫士”,经过我们测试发现,360安全卫士的加速功能会建议用户关闭“迅雷基础服务”,其实就是把“XLServicePlatform”服务停止了。。。
于是我们就找360安全卫士的人反馈了这个问题,介绍了这个服务对于迅雷的重要性,希望360不要把这个服务列为“建议关闭”。
而且这个服务本身不占什么内存,但是关闭之后,对用户体验的负面影响很大。
经过几轮沟通后,结果就是360安全卫士一直都没有进行更改。。。
解决方案C:
既然很多用户的XLServicePlatform服务会被360安全卫士停止,那么迅雷就需要一个服务不能正常运行时的备份方案。
这个方案就是10.1.16版本上新增的“快速申请磁盘空间助手”功能,它的原理很简单,就是个独立的进程,在迅雷需要时启动它申请管理员权限,然后帮迅雷申请磁盘空间。
迅雷启动时,检测到自身不具有管理员权限,且XLServicePlatform服务没有正常运行,即判断当前需要“快速申请磁盘空间助手”帮助申请磁盘空间。但是此时并不会立刻弹出UAC提示框。
而是当迅雷需要下载大于100MB的文件时,先询问用户选择哪种申请磁盘空间的方式。
如果用户选择“快速方式”,这时才会拉起“快速申请磁盘空间助手”进程申请管理员权限(此时会弹一次UAC提示框),然后再由它帮迅雷申请磁盘空间。
这个方式虽然要弹一次UAC提示框,但是总好过方案A那种每次启动迅雷都弹,而且作为方案B的备用方案,用户体验也不算太糟糕。
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。