私は、Titanium Appcelerator を使用して、JavaScript を使用してアプリを開発しています。彼らは、CommonJS アプローチを使用することを提案しています。CommonJS の簡単な例は、ここにあります。
私の人生では、コードを構造化する方法をまだ理解できていません。
例:
/* Homescreen.js */
exports.createHomescreen = function () {
//load all required modules first
var videoPlayer = require('ui/videoPlayerModule');
var self = Ti.UI.createWindow({
width:'100%',
height:'100%'
})
var newPlayer = videoPlayer.createPlayer({
width:100
height:50
});
self.add(newPlayer);
return self;
}
videoPlayerModule
/* videoPlayerModule.js */
exports.createPlayer = function (object) {
//load all required modules first
var self = Ti.UI.createWindow({
width:object.width,
height:object.height
});
var exitVideoButton = Ti.UI.createButton({
width:100,
height:50
});
exitVideoButton.addEventListener('click',function(e){
self.close(); //When this window is closed, the memory isn't freed.
self = null; //Still the memory isn't cleared
});
self.add(exitVideoButton);
return(self);
}
videoPlayer をロードして閉じるたびにメモリがクリアされないため、メモリ割り当ての問題が発生しています。videoPlayer を再度開くと、メモリが再度割り当てられます。このため、私のアプリのメモリ使用量は、videoPlayer が起動されるたびに増加します。
私は自分の考え方が正しくないことを知っています。ここで非常に単純なものを見落としています。誰かが私が正しくしていないことを教えてもらえますか?