ich eine benutzerdefinierte Einstellung erstellt haben, die den folgenden KonstruktoronCreateView() wird zu oft in den kundenspezifischen Vorlieben genannt
public CoordinatesPreference(Context context, AttributeSet attrs)
{
super(context, attrs);
setLayoutResource(R.layout.coordinates_preference);
}
hat Und ich habe außer Kraft gesetzt onCreateView()
so schreibt es in das Protokoll wie folgt aus:
@Override
protected View onCreateView(ViewGroup parent)
{
Log.d("test", "Creating Preference view");
return super.onCreateView(parent);
}
und mein Protokoll ist voll von "Creating Preference view"
Nachrichten, das schafft ein Laggy-Gefühl zu scrollen und ich glaube, Konvertierungsansicht soll das lösen, ich hatte einen Blick auf die Präferenz-Quellcode und wenn konvertieren Ansicht ist null dann onCreateView()
heißt.
zu Testzwecken habe ich diese Methode:
@Override
public View getView(View convertView, ViewGroup parent)
{
if (convertView == null)
{
return super.getView(convertView, parent);
}
return super.getView(convertView, parent);
}
und einen Haltepunkt gesetzt. Ich habe festgestellt, dass meine Convert-Ansicht fast immer null ist. und deshalb muss es eine neue Sichtweise schaffen, warum ist das so? und wie kann ich dies verbessern, um einen verzögerten Einstellungsbildschirm zu vermeiden?
EDIT: Changed die Art und Weise der OnCreate aufgerufen wird, jetzt ist alles android Ich verwende einfach setLayoutResource
. aber das löst das Problem nicht ...
EDIT2: Ich habe Debug.StartMethodTracing()
benutzt und habe festgestellt wie ich vermutet, dass 55% der Zeit (wenn ich gerade auf und ab blättere) auf die Inflation von ausgeben werden die Präferenz von der Methode onCreateView()
, die von getView()
aufgerufen wird, wenn convertView
null ist.
Danke, Jason
Können Sie einen Screenshot einfügen, wie Ihre Einstellungen aussehen? – Macarse
Sicher. Ich poste eins wenn ich nach Hause komme – Jason
Kannst du deine preferences.xml Datei aufhängen? Ich habe eine Idee und ich möchte bestätigen, dass Ihre Konfiguration wie meine ist. – ThomasW