Ну, я выполнил тест самостоятельно.Что у меня было: размер файла = 3 803 264 байта;фрагмент кода тестирования:
using (var file = storage.OpenFile("test.dat", FileMode.Open))
{
var startTime = DateTime.Now;
const int count = 1;
var buffer = new byte[count];
**long position = file.Position;
**long length = file.Length;
while (position < length)
{
file.Read(buffer, 0, count);
position += count;
}
uxLog.Text = (DateTime.Now - startTime).TotalMilliseconds.ToString();
}
РЕДАКТИРОВАТЬ: очень важный момент в приведенном выше фрагменте - это file.Position и file.Length запрашиваются только один раз.Это оказывает существенное положительное влияние на производительность (при условии, что число = 1 2370 мс против 55734 мс, если позиция и длина указаны).
Какие обновленные результаты я получил:
размер буфера(байт) / время в эмуляторе (мс) / время на моем HTC Trophy (мс)1/1197/2370128/725/12891024/209/1634096/35/508196/35/49весь файл одновременно / 19/31