Bre*_*yan 5 javascript titanium commonjs ios titanium-mobile
我正在开始一个新的Titanium应用程序,并希望使用最佳实践,并避免内存泄漏.我是CommonJS以及Titanium平台的新手.
不幸的是,似乎钛环绕在所有的示例应用程序Ti.include("/lib/module"),而不是新的建议的最佳实践的require("/lib/module").
我担心的是使用CommonJS的内存消耗可能需要.从Titanium中的CommonJS模块文档中可以看出模块将被缓存,这是否意味着如果我访问模块,即使它们超出范围,所有这些功能也会突然停留在内存中?
我已经开始使用以下结构的新应用程序
/ctrl # Model/UI controllers
/lib # libraries (common + 3rd party)
/ui # UI forms
/model # DAL objects for data store
Run Code Online (Sandbox Code Playgroud)
从这里我的主应用程序有一个仪表板样式视图,其结构松散如下:
(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();
})();
Run Code Online (Sandbox Code Playgroud)
非常感谢任何有关正确项目结构的指导.
| 归档时间: |
|
| 查看次数: |
2900 次 |
| 最近记录: |