Я обнаружил, что пример инфраструктуры Objective-C / cocoa содержит следующий код.
int main()
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
// Create an array
NSArray *month = [NSArray arrayWithObjects:@ ... nill];
[pool drain];
}
Q1: В чем заключается магия (Почему мне нужно иметь Код NSAutoreleasePool?)? Какая магия происходит между блоком NSAutoreleasePool
и дренажным блоком пула
? Я вижу, что сам выпускать * месяц
не нужно. Причина в том, что он находится внутри блока NSAutoreleasePool
и пула стока
?
Q2: В Xcode мне уже предоставлена функция main (). В этом случае, как я могу использовать NSAutoreleasePool
и сток пула
?
Например: Предварительный компилятор Android Строитель Java Конструктор пакетов Android Глядя на результат ...
После установки подключаемого модуля ADT для проекта Android активны следующие сборщики:
При просмотре выходного каталога создаются следующие артефакты:
В моем проекте я автоматически генерирую несколько артефактов кода и в целом нуждаюсь в более строгом контроле над процессом сборки. Сначала я подумал, что диспетчер ресурсов отвечает за создание resources.ap_, прекомпилятор создал R.java, построитель java сделал очевидное, а затем построитель пакетов Android создал classes.dex, затем объединил классы.dex и resources.ap_ для создания файла APK.
Я отключил первые два шага и создал собственный предварительный компоновщик, который создает копию resources.ap_, полагая, что это будет эквивалентно. Нет такой удачи.
К сожалению, последний Android Package Builder, похоже, отбирает ресурсы непосредственно из res / и игнорирует мои resources.ap_. Фактически, первые два шага сборки, похоже, не делают ничего, кроме генерации R.java.
Вот где это становится действительно проблематичным. Если я отключу последний этап сборки и сохраню свой собственный файл APK (с точным таким же именем), я получаю следующую ошибку:
[2011-02-27 20:25:28 - android-premium] ------------------------------
[2011-02-27 20:25:28 - android-premium] Android Launch!
[2011-02-27 20:25:28 - android-premium] adb is running normally.
[2011-02-27 20:25:28 - android-premium] Could not find android-premium.apk!
Итак, я застрял: с Android Package Builder (который не имеет заметной конфигурации), я должен предоставить отдельные файлы ./res/. Без него я не могу запустить проект на устройстве (не из Eclipse).
У кого-нибудь есть лучшие идеи / опыт в этой области?