0

物理デバイスでジェリービーンを実行し、ネットワーク統計を監視しようとしています。たとえば、DDMS にはネットワーク統計と呼ばれるタブがあり、[開始] を押すと、ネットワーク接続データ転送を監視できます。

ここに画像の説明を入力

私が持っているいくつかのWebビューを特に監視したいので、Webクライアントで次のことを行いました:

@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) が表示されないか、画面キャプチャの下部近くに赤い色しか表示されない別の色が表示されます。

私が必要としているのは、異なるスレッドを色で区別できることです。

4

2 に答える 2

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 が新しい uid またはタグを意味する新しいトラフィック フローを検出すると、次のように項目の色を設定します。

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 のソース コードを変更しないと、自分で色を決めることはできません。

于 2014-04-30T08:50:15.707 に答える