一、内存大
app版本更新后内存变的好大,更新多几次版本更大,小编便发现是每次更新后都把下载下来的apk大小增加到app里面去了。那么我们如何版本更新完之后删除下载下来的apk文件呢?避免占用内存!
二、解决方案
使用html5 + 功能IO模块 来解决方案
参考文档
https://www.html5plus.org/doc/h5p.html
IO模块
IO模块管理本地文件系统,用于对文件系统的目录浏览、文件的读取、文件的写入等操作。通过plus.io可获取文件系统管理对象。
常量:
PUBLIC_DOWNLOADS: 程序公用下载目录常量
方法:
requestFileSystem: 请求本地文件系统对象
resolveLocalFileSystemURL:通过URL参数获取目录对象或文件对象
plus.io.requestFileSystem( plus.io.PUBLIC_DOWNLOAD, function(fs){
// fs.root是根目录操作对象DirectoryEntry
// 创建读取目录信息对象
var directoryReader = fs.root.createReader();
directoryReader.readEntries( function( entries ){
// readEntries: 获取当前目录中的所有文件和子目录
var i;
for( i=0; i < entries.length; i++ ) {
//进行对文件进行操作
//这里可以指定文件名,看需求定
var fileName = entries[i].name;
var filePath = "_downloads/" + entries[i].name;
//获取文件对象
plus.io.resolveLocalFileSystemURL(filePath,function(entry){
//删除文件
entry.remove();
},function(e){
console.log('???',e)
})
}
}, function ( e ) {
alert( "Read entries failed: " + e.message );
} );
} );
把上面代码放到app打开的时候检查一下是否存在apk包,存在就进行删除操作