2013-06-13 4 views
1

iOS предоставляет множество фреймворков, я новичок в iOS, но есть одна концепция, о которой я не уверен: Если я скрою количество фреймворков, от которых зависит мое приложение, я предполагаю, что это повышение производительности, я прав? или это не имеет значения? Например, сохраняю ли я объем памяти или оптимизацию производительности, если у меня нет iOS-фреймворков (например, основных данных или основной графики), если мне действительно не нужны функции в них? в моем приложении код слишком прост, что я могу написать его сам без основных данных (очень базовые функции)., когда xcode строит и развертывает на устройстве

Я не могу найти хорошие статьи, которые обсуждают эту концепцию, все ли рамки, выпущенные яблоком, будут развернуты на устройстве, не относящемся к вашему проекту, используя их или нет?

ответ

2

Обычно лучше не ссылаться на фреймворки, которые вы не используете. Чтобы ответить на ваши более конкретные вопросы:

Все ли рамки, выпущенные яблоком, развернуты на устройстве, не относящемся к вашему проекту, используя их или нет?

По существу да - они предусмотрены как часть iOS, поэтому они уже загружены на устройство (и всегда присутствуют).

Если я минимизирую количество фреймворков, от которых зависит мое приложение, я предполагаю, что это повышение производительности, я прав?

Возможно, - компоновщик/загрузчик не будет загружать рамки в памяти и связать приложение к ним, но стоимость производительности для этого настолько ничтожна, что избежать связывания/загрузки базы не это хорошая причина не использовать его, если вы в противном случае считаете его полезным.

я экономить на объем памяти

Может быть. Когда вы загружаете общую библиотеку, содержимое библиотеки загружается в пространство памяти вашего приложения, поэтому оно увеличит объем памяти. Однако, если библиотека уже загружена другим приложением (или операционной системой), он будет использоваться среди всех приложений, используя его.

Несмотря на это, возможно, увеличенный объем памяти - это плохая причина избежать использования фреймворка, который в противном случае вы могли бы найти полезным.

+0

hmm, ну это интересно, мое дело в том, что мне нужно загрузить некоторые статические данные, эти данные никогда не изменятся, это более 2000 записей (или строк для объекта db или 2000). Я думал о том, чтобы положить целое в файле как json и просто загружать его, в отличие от использования coredata и создания базы данных. Эти данные не являются db и r там никаких отношений между ним и другим набором данных, поэтому я думал, что если мне не нужна coredata, тогда не используйте его. моя логика все еще сохраняется? –

+0

@sleepy_ios: В общем, нет необходимости использовать фреймворк, если он достаточно прост, чтобы написать код самостоятельно, но, как правило, не слишком большие недостатки в использовании iOS-фреймворков; однако CoreData имеет некоторые тонкости для работы с большими наборами данных. Определяется ли «2000 объектов» как «большой» набор данных или нет. – mipadi

Смежные вопросы