我是新手,我遇到内存泄漏问题。 我使用一个名为Leanorama的jquery框架来创建虚拟游览。
我的问题是,当浏览并访问不同的环境时,我的应用程序消耗的内存量增加了200MB。所以只访问五个不同的地方,它将获得至少1GB。谷歌Chrome从不释放内存,页面崩溃,因为(只有当我重新加载页面时才释放内存,但我会再次访问游戏的开头)。
可能有些人和我发现了同样的问题。
这是我的主要js文件
/ *包含初始化虚拟游览所需的所有属性的变量* /
var tour = {
entrance: entrance,
museumCenter: museumCenter,
expo1: expo1,
expo2: expo2,
expo3: expo3,
expo4: expo4,
expo5: expo5,
expo6: expo6,
expo7: expo7,
expo8: expo8,
expo9: expo9,
expo10: expo10,
expo11: expo11,
expo12: expo12,
expo13: expo13,
expo14: expo14,
downCorner01: downCorner01,
middleEntranceCorridor: middleEntranceCorridor,
downCorner02: downCorner02,
middleSkeletonCorridor: middleSkeletonCorridor,
downCorner03: downCorner03,
middlePosteriorCorridor: middlePosteriorCorridor,
downCorner04: downCorner04,
middleSideCorridor: middleSideCorridor,
dino: dino,
gallery01: gallery01,
gallery02: gallery02,
gallery03: gallery03,
gallery04: gallery04,
gallery05: gallery05,
gallery06: gallery06,
gallery07: gallery07,
gallery08: gallery08
};
/* Initializing the function tour and attributing at the #pano html id */
$('#pano').leanorama(tour.entrance).on('leanoramaHotspotClick', function(e, hotspot) {
if (hotspot.type == 'nav') $(this).trigger('leanoramaRefresh', tour[hotspot.value]);
});
/* Click event of the map */
$('.map').click(function (){
$('#pano').leanorama(tour[$(this).attr('value')]).on('leanoramaHotspotClick',
function(e, hotspot) {
if (hotspot.type == 'nav') $(this).trigger('leanoramaRefresh', tour[hotspot.value]);
});
});
/* event to hide/show the map */
$('#pano').dblclick(function (){
if ($("img").is(":hidden")){
$("img").show();
}
else
$("img").hide();
});
你知道我怎么能解决它吗?强制Chrome释放以前环境的内存并将内存保留在当前环境中的方法? 提前谢谢。