Я просто создаю метод обхода:
public static Fragment _tempFragment = null;
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(_tempFragment != null)
_tempFragment.onActivityResult(requestCode, resultCode, data);
}
В вашем фрагменте перед startActivityforResult установите
MainActivity._tempFragment = this;
После того, как onActivityResult & lt; - in Fragment
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// Do your job
{
}
MainActivity._tempFragment = null;
}
Это работает путем размещения дополнительного кода для подсчета количества раз, каждый путь выполнения кода взят. Когда Вы компилируете во второй раз, когда компилятор использует знание, полученное об осуществлении Вашей программы, которую это могло только предположить прежде. Существует пара вещей, к которым может работать PGO:
Вы никогда действительно знаете, какому количеству могут помочь эти вещи, пока Вы не тестируете его.
Jason советует, является правильным на. Лучшие ускорения Вы собираетесь прибыться от "обнаружения", что Вы позволяете O (n2) промах алгоритма во внутренний цикл где-нибудь, или что можно кэшировать определенные вычисления за пределами дорогих функций.
По сравнению с микрооптимизацией, которую может инициировать PGO, это крупные победители. После того как Вы сделали тот уровень оптимизации, PGO смог помогать. У нас никогда не было большой удачи с ним, хотя - стоимость инструментария была такова, что наше приложение становится неприменимо медленным (несколькими порядками величины).
Мне нравится использовать Intel VTune в качестве профилировщика, прежде всего, потому что это является неразрушающим по сравнению с оснащением профилировщиков, которые изменяют поведение слишком много.
PGO дает приблизительно 5%-е повышение скорости при компиляции x264, проект, я продолжаю работать, и у нас есть встроенная система для него (сделайте fprofiled). Это - хорошее бесплатное повышение скорости в некоторых случаях и вероятно помогает больше в приложениях, которые, в отличие от x264, менее составлены из рукописного блока.
Забавная вещь об оптимизации состоит в том, что выигрыши в быстродействии найдены в самом маловероятном из мест.
Это - также причина, которую Вам нужен профилировщик, вместо того, чтобы предположить, где проблемы скорости.
Я рекомендую запуститься с профилировщика (gperf
если Вы используете GCC), и только начните вводить по абсолютному адресу вокруг результатов запуска Вашего приложения посредством некоторого нормального функционирования.