You've already forked Nano-Banana-AI-Image-Editor
修复内存溢出问题
This commit is contained in:
79
debug/test_cleanup.js
Normal file
79
debug/test_cleanup.js
Normal file
@@ -0,0 +1,79 @@
|
||||
// 测试清理功能的脚本
|
||||
async function testCleanup() {
|
||||
try {
|
||||
// 打开数据库
|
||||
const request = indexedDB.open('NanoBananaDB', 1);
|
||||
|
||||
request.onsuccess = function(event) {
|
||||
const db = event.target.result;
|
||||
|
||||
// 读取生成记录
|
||||
const transaction = db.transaction(['generations'], 'readonly');
|
||||
const store = transaction.objectStore('generations');
|
||||
const getAllRequest = store.getAll();
|
||||
|
||||
getAllRequest.onsuccess = function(event) {
|
||||
const generations = event.target.result;
|
||||
console.log('生成记录数量:', generations.length);
|
||||
|
||||
// 检查是否有base64数据
|
||||
let base64Count = 0;
|
||||
for (const generation of generations) {
|
||||
for (const asset of generation.sourceAssets || []) {
|
||||
if (asset.url && asset.url.startsWith('data:')) {
|
||||
console.log('发现base64源资产:', asset.url.substring(0, 50) + '...');
|
||||
base64Count++;
|
||||
}
|
||||
}
|
||||
for (const asset of generation.outputAssets || []) {
|
||||
if (asset.url && asset.url.startsWith('data:')) {
|
||||
console.log('发现base64输出资产:', asset.url.substring(0, 50) + '...');
|
||||
base64Count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
console.log('总共发现base64资产数量:', base64Count);
|
||||
|
||||
// 读取编辑记录
|
||||
const editTransaction = db.transaction(['edits'], 'readonly');
|
||||
const editStore = editTransaction.objectStore('edits');
|
||||
const getAllEditsRequest = editStore.getAll();
|
||||
|
||||
getAllEditsRequest.onsuccess = function(event) {
|
||||
const edits = event.target.result;
|
||||
console.log('编辑记录数量:', edits.length);
|
||||
|
||||
// 检查是否有base64数据
|
||||
let editBase64Count = 0;
|
||||
for (const edit of edits) {
|
||||
if (edit.maskReferenceAsset && edit.maskReferenceAsset.url && edit.maskReferenceAsset.url.startsWith('data:')) {
|
||||
console.log('发现base64遮罩参考资产:', edit.maskReferenceAsset.url.substring(0, 50) + '...');
|
||||
editBase64Count++;
|
||||
}
|
||||
for (const asset of edit.outputAssets || []) {
|
||||
if (asset.url && asset.url.startsWith('data:')) {
|
||||
console.log('发现base64编辑输出资产:', asset.url.substring(0, 50) + '...');
|
||||
editBase64Count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
console.log('编辑记录中总共发现base64资产数量:', editBase64Count);
|
||||
console.log('清理前总共base64资产数量:', base64Count + editBase64Count);
|
||||
|
||||
db.close();
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
request.onerror = function(event) {
|
||||
console.error('打开数据库失败:', event.target.error);
|
||||
};
|
||||
} catch (error) {
|
||||
console.error('测试过程中出错:', error);
|
||||
}
|
||||
}
|
||||
|
||||
// 运行测试
|
||||
testCleanup();
|
||||
Reference in New Issue
Block a user