का उपयोग करके टाइटेनियम प्रोजेक्ट स्ट्रक्चर की अनुशंसा करें। मैं एक नया टाइटेनियम ऐप शुरू कर रहा हूं और सर्वोत्तम प्रथाओं का उपयोग करना चाहता हूं और जाने से मेमोरी लीक से बचना चाहता हूं। मैं सामान्य रूप से कॉमनजेएस के साथ-साथ टाइटेनियम प्लेटफार्म में नया हूं।कृपया कॉमनजेएस
दुर्भाग्य से ऐसा लगता है कि require("/lib/module")
के बजाय टाइटेनियम के लिए सभी नमूना अनुप्रयोग Ti.include("/lib/module")
पर घूमते हैं।
मुझे चिंता है कि कॉमनजेएस का उपयोग करने की स्मृति खपत की आवश्यकता हो सकती है। CommonJS Modules in Titanium documentation से यह कहता है कि मॉड्यूल कैश किए जाएंगे, इसका मतलब यह नहीं होगा कि अगर मैं कभी मॉड्यूल तक पहुंचता हूं कि वे सभी कार्य अचानक स्मृति में रहते हैं, भले ही वे गुंजाइश से बाहर हों?
मैं निम्नलिखित संरचना
/ctrl # Model/UI controllers
/lib # libraries (common + 3rd party)
/ui # UI forms
/model # DAL objects for data store
यहाँ से साथ एक नई एप्लिकेशन शुरू कर दिया है अपने मुख्य अनुप्रयोग एक ही डैशबोर्ड शैली दृश्य जो शिथिल इस प्रकार संरचित है है:
(function() {
var getMenuItem = require("/ui/main").getMenuItem;
var win = Titanium.UI.createWindow({
title:'Main',
backgroundColor:'#fff'
});
var nav = Ti.UI.iPhone.createNavigationGroup({
window:win
});
var sect;
var data = [];
sect = Ti.UI.createTableViewSection();
data.push(sect);
sect.add(getMenuItem("Customers",
require("/ctrl/account").createCustMainWindow));
sect.add(getMenuItem("Schedules",
require("/ctrl/schedule").createScheduleMainWindow));
sect.add(getMenuItem("Settings"));
var menu = Titanium.UI.createTableView({
style: Ti.UI.iPhone.TableViewStyle.GROUPED,
data:data
});
win.add(menu);
menu.addEventListener('click',function(e) {
if (e.rowData.createWindow) {
var win = e.rowData.createWindow(nav);
nav.open(win);
}
});
var navWindow = Titanium.UI.createWindow();
navWindow.add(nav);
navWindow.open();
})();
पर कोई मार्गदर्शन एक सही परियोजना संरचना की सराहना की जाती है।
यह सही है, परियोजना संरचना ठीक वही है जो मैं बाद में था। –