2013-10-09 2 views
0

im running jelly Bean на физическом устройстве и пытается контролировать статистику сети. Например, в DDMS есть вкладка, называемая сетевой статистикой, и когда вы нажимаете start, вы можете отслеживать передачу данных сетевого подключения.Android TrafficStats - как цвет указать тему

enter image description here

Я специально хотел бы контролировать несколько webviews у меня есть: так я сделал следующее в моем WebClient:

@Override 
public void onPageStarted(WebView view, String url, 
    android.graphics.Bitmap favicon) { 


    TrafficStats.setThreadStatsTag(0xF00D); 


} 

public void onPageFinished(WebView view, String url) { 
TrafficStats.clearThreadStatsTag();  
} 

Я ожидал увидеть другой цвет и не им видя, что указанный тег (0xF00D) или другой цвет, я вижу только красный цвет в нижней части экрана.

Что мне нужно, чтобы иметь возможность различать разные потоки по цвету.

+0

Вы нашли решение для этого? – Eme

+0

нет, очевидно, из-под контроля – j2emanue

ответ

0

ОБНОВЛЕНИЕ: КАК ДОКУМЕНТАЦИЯ setThreadStatsTag() предназначен для просмотра трафика сокетов. Я пытался использовать его для просмотра потока потоков. Моя ошибка:

setThreadStatsTag(int tag) 

Установить активный тег, который будет использоваться при учете Распайка сокета, исходящая от текущей нити.

1

Цвет в представлении статистики сети DDMS не поддается контролю. Что вы можете сделать в своем коде, так это просто установить тег на поток. В сети Статистика просмотра исходного кода DDMS, DDMS определяет набор цветов

private static final java.awt.Color TOTAL_COLOR = java.awt.Color.GRAY; 
private static final java.awt.Color[] SERIES_COLORS = new java.awt.Color[] { 
    java.awt.Color.decode("0x2bc4c1"), // teal 
    java.awt.Color.decode("0xD50F25"), // red 
    java.awt.Color.decode("0x3369E8"), // blue 
    java.awt.Color.decode("0xEEB211"), // orange 
    java.awt.Color.decode("0x00bd2e"), // green 
    java.awt.Color.decode("0xae26ae"), // purple 
}; 

поток трафика активно отслеживаются, однозначно определяемый UID и метки (определенного в коде). DDMS использует TrackedItem - поток трафика. Затем определите ArrayList для представления всех потоков трафика.

private ArrayList<TrackedItem> mTrackedItems = new ArrayList<TrackedItem>(); 

Когда DDMS обнаружить новый поток трафика, который означает, что новый идентификатор пользователя или тег, это установить цвет элемента следующим образом:

final int size = mTrackedItems.size(); 
item.color = nextSeriesColor(size); 

private static java.awt.Color nextSeriesColor(int index) { 
return SERIES_COLORS[index % SERIES_COLORS.length]; 

}

Я опускаю некоторые неуместные коды к настройка цвета.

Итак, вы можете просто установить тег. Вы не можете решить цвет самостоятельно, если вы не изменяете исходный код DDMS.

Смежные вопросы