If сами по себе не являются проблемой.Если они не вызывают функции с интенсивным использованием процессора, то они будут очень быстрыми, особенно на Froyo или позже, благодаря JIT.Чтение из БД может быть очень быстрым, но также может быть очень медленным.NAND непредсказуем с точки зрения производительности, и параллельный ввод-вывод приведет к заметной задержке.Если вы уверены, что не используете тяжелые функции в своих ifs, я бы пошел с ними.
Лучший способ - заключить фрагмент кода в // начало трассировки в "/ sdcard / calc.trace "Debug.startMethodTracing (" calc ");// ... // прекращаем трассировку Debug.stopMethodTracing ();(взято из http://developer.android.com/guide/developing/tools/traceview.html). Затем получите файл с SD-карты, откройте в Traceview и сравните обе альтернативы. Другой, более простой способ - это Log.d (TAG, «Start:» + System.currentTimeMillis ());сделайте свой код, затем Log.d (TAG, "End:" + System.currentTimeMillis ()); Сделайте это для обеих альтернатив и посмотрите, какая из них была быстрее.
Подробнее о теме здесь: http://developer.android.com/guide/practices/design/performance.html