Вот статья об оптимизации http://www.javaworld.com/javaworld/jw-04-1997/jw-04-optimize.html?page=1
То, о чем вы говорите, - это таблица соответствия для ваших случайных чисел.В большинстве случаев это быстрее, но в этом случае это также изменит результаты.
В общем, мой подход всегда находит то, что занимает больше всего времени, и исследую это настолько глубоко, насколько я могу.Убедитесь, что вы не выполняете лишнюю работу, и ищите вещи, которые кажутся странно медленными.Оптимизированный код тратит большую часть своего времени на основные математические операции.Старайтесь продолжать, пока не будет похоже, что вы проводите большую часть своего времени только на математических операциях.
Ваш код что-то делает, и вполне может быть лучший способ сделать это.Так что держите ухо на земле для лучшего алгоритма.
И имейте в виду, есть все виды устройств Android.Будет сложно оптимизировать их все.Иногда вам нужно пройти тщательный проход по оптимизации, а затем предположить, что это так же хорошо, как она собирается, и начать сокращать объем выполняемой работы или решить, что это просто невозможно.