Улучшение производительности кода WURFL
Я проверил следующий код, который печатает свойства UserAgent. Однако я заметил, что выполнение кода занимает заметное время.
// Initialize the WURFL library.
String projRoot = System.getProperty("user.dir");
wurflFile = projRoot + File.separator + "wurfl-2.3.3" + File.separator + "wurfl.xml";
File dataFile = new File(wurflFile);
wurfl = new CustomWURFLHolder(dataFile);
String deviceUrl = "Apple-iPhone5C1";
WURFLManager manager = wurfl.getWURFLManager();
Device device = manager.getDeviceForRequest(deviceUrl);
System.out.println("Device: " + device.getId());
System.out.println("Capability: " + device.getCapability("preferred_markup"));
System.out.println("Device UA: " + device.getUserAgent());
Map capabilities = device.getCapabilities();
System.out.println("Size of the map: " + capabilities.keySet().size());
Iterator itr = capabilities.keySet().iterator();
while (itr.hasNext()) {
String str = (String) itr.next();
System.out.println(str);
}
Одна из причин заключается в том, что загрузка и анализ файла базы данных WURFL XML занимает около 20 МБ.
Я хочу знать, есть ли какой-либо другой WURFL API, который улучшит эту производительность? В конце концов, я бы поместил этот код в HTTP-прокси, где я хочу проверить параметр профиля устройства для адаптации содержимого.
Благодарю.