nsis的固实(solid)压缩原理
来源:互联网 发布:更新驱动软件下载 编辑:程序博客网 时间:2024/06/13 23:48
nsis的固实(solid)压缩
问题由解压框而来
解压框显示的逻辑是这样的
1,运行第一步是进行crc校验,校验的过程大约4kb的步长读取exe文件,并做crc校验,每一次校验检查当前校验时间是否已经超过了1s,超过则展现解压框
2,压缩文件时固实算法是,将所有文件按照如下格式 |FileSize|FileContent|FileSize2|FileContent2|... 将所有文件拼成一个大buffer,然后进行lzma压缩
解压时,每解压一个文件设定一个500ms的超时,若解压这个文件的过程中超过了此阈值,则显示解压框
解压某个文件时,传入这个文件解压后所在大buffer中的偏移,因此,解压过程是先从头至尾一点点解压这个dabuffer,一旦已解压的数据满足了取出这个offsert-size大小的要求即返回,因此若此文件在压缩过程中比较靠后,就会导致需要把前面的所有文件都解压出才能解压出这个文件的问题
解压框与主窗体是互斥的,因此一旦安装的主窗体创建,则不会显示解压框
解决:
1,保证压缩的顺序与解压顺序一致,这样可以将单个文件的解压时间放到最小
2,init以及插件dll保证最小使用
3,使用resverfile强制约束某些文件优先压缩
2 0
- nsis的固实(solid)压缩原理
- NSIS压缩
- nsis分卷压缩
- 压缩文件的压缩原理
- 音频压缩的原理
- 白话压缩的原理
- ZIP压缩的原理
- 程序设计的SOLID原则
- 程序设计的SOLID原则
- SOLID
- SOLID
- SOLID
- Solid
- SOLID
- SOLID
- SOLiD测序原理及实验流程
- 压缩与解压缩的原理
- Http gzip的压缩原理
- ios程序图标及启动图片尺寸
- 还原数据库时,提示因为数据库正在使用,无法获得对数据库的独占访问权!
- 安卓手机屏幕分辨率与dip、dp、sp的区别
- 天声人語 20150610
- js身份证验证
- nsis的固实(solid)压缩原理
- ASP NET MVC OutputCache
- 日经春秋 20150610
- 玩命牛的成长记录(二十)——测试
- Add Two Numbers
- 日经社説 20150610 挑戦突きつけられるG7の結束力
- Hibernate各种主键生成策略与配置详解
- iOS多线程的初步研究(-)-- NSTimer
- 学生选课数据库(oracle 11g)的设计与管理