AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Listview mit Firemonkey

Ein Thema von Peter666 · begonnen am 3. Mai 2016 · letzter Beitrag vom 1. Jun 2016
Antwort Antwort
Seite 4 von 4   « Erste     234   
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#31

AW: Listview mit Firemonkey

  Alt 1. Jun 2016, 12:00
Kleine Zwischenfrage zu Deinen Gedanken, Rollo: Warum glaubst Du, daß Bilder aus Dateien zu laden weniger Performant sein soll als sie aus einer SQLite DB zu ziehen? Du weisst, daß SQLite dateibasiert ist? Nur mal so als Denkanstoß
Auf mobilen Systemen rate ich davon ab, Bilder oder Binärdaten in einer SQLite-DB zu speichern. Das ist dort nämlich krötenlangsam.
Steht auch irgendwo in der Doku von SQLite, dass ab einer bestimmten Datengröße die Performance unterirdisch ist.
https://www.sqlite.org/intern-v-extern-blob.html
  Mit Zitat antworten Zitat
Peter666

Registriert seit: 11. Aug 2007
357 Beiträge
 
#32

AW: Listview mit Firemonkey

  Alt 1. Jun 2016, 12:34

Außer neu aufbauen, und die betreffenden Items nicht mitzuerzeugen ist mir nichts bekannt. Sorry... FMX ist gegenüber VCL leider in sehr vielen Dingen noch furchtbar weit zurück. Mir fällt da als abschreckendes Beispiel noch das TDateEdit ein...Grauslig.

Sherlock
Das ist doch Mist Ich hab gesehen das die Filterfunktion da sowas macht, aber da muss man wohl mehr als nur ein bisschen hand anlegen, wenn man das mit einem eigenen Filter machen will. Schade eigentlich, weil TListview ist bockenlahm. Das fängt schon mit sowas an:

Delphi-Quellcode:
for LItem in FNewItems do
      LItem.CreateObjects;
Hat jemand mal zum Spaß 5000 Einträge oder mehr in eine TListView geschrieben? Das geht recht schnell, aber nach dem Endupdate wird jede Einzelne TListViewItem initialisiert und TAppearanceListView.ResetViewAppearance aufgerufen. Dort erfolgt ein LItemObjects.ResetObjects(AItem, GetFinalItemSize); und zwar von allen Einträgen. Das ganze wäre wesentlich performanter, wenn das nur die sichtbaren Objekte beträfe. So dauert es 3 Sekunden auf einem Android und da kommt dann gerne ein Anwendung reagiert nicht mehr vom System.
  Mit Zitat antworten Zitat
Darlo

Registriert seit: 28. Jul 2008
Ort: München
1.196 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#33

AW: Listview mit Firemonkey

  Alt 1. Jun 2016, 13:16
Hab gerade kein Delphi hier, aber haben ListviewItems einen Parent? Wenn ja kann man ja dadrüber die Sichtbarkeit steuern. Alternativ Height := 0.
Philip
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.908 Beiträge
 
Delphi 12 Athens
 
#34

AW: Listview mit Firemonkey

  Alt 1. Jun 2016, 14:43
Zitat:
Hat jemand mal zum Spaß 5000 Einträge
Ich denke eigentlich ist für solche Fälle der
http://docwiki.embarcadero.com/Libraries/XE7/en/FMX.ListView.TCustomListView.OnPullRefresh und
PullToRefresh gedacht ist

Aber ich würde mir natürlich wünschen das so etwas clever in die LiveBindings & Datenbankabfragen integriert ist,
das fensterweise nachladen.

Ich vermute mal man muss ales von Hand machen, siehe auch hier.

Jedenfalls lade ich meine Thumbnail-Bilder im Moment als absoluter FileName aus der Sqlite-Tabele, und
lade die dann damit nach in ein MultiResourceBitmap.

In der Hoffnung das niemand tausende Einträge damit macht, aber meine Wunschvorstellung davon wäre eine andere.
Z.B. nur LiveBindings Verbindung von DataSet zu ListView, welche dann automatisch PullToRefresh macht.

Was ich noch testen wollte wäre die Bitmaps als Calculated Field in der DB AdHoc zu Erzeugen, aber das bringt
mir im Moment keine Vorteile.
Vielleicht hat das ja auch schon jemand versucht, das hätte den Vorteil das man sich nicht gezielt um die
Position kümmern muss.
Aber die Frage ist noch wo die Instanz vom Bmp dann eigentlich gespeichert werden soll,
ImageList war nicht unproblematisch, im ListView selbst war auch nicht optimal,
ich mache im Moment ein MultiResBitmap und verlinke im ListViewItem nur die BitmapRef.


Rollo
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz