Überlastung durch gif library

  • Antworten:24
  • Bentwortet
P-T
  • Forum-Beiträge: 745

20.10.2013, 19:41:17 via Website

hallo
ich lasse in b4a die gif library beim start gleich laden, weil dieses gif dann dazu verwendet wird um einen ladevorgang zu zeigen...-wenn ich bei jedem laden aufruf dann das gif starte, dann crasht die app sofort...
deswegen mache ich das jetzt mit visible und so dass die gif ständig unsichtbar abgespielt wird...
trotzdem ist aber immer noch eine zu hohe belastung da...-wer kann helfen?

Posts vor dem 22.12.2014 sind von dem Vorgänger dieses Accounts

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

20.10.2013, 19:49:07 via App

Was heißt "Gif library laden"?

Wie lädst Du was?

Ohne Code kann man schwer helfen...

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
P-T
  • Forum-Beiträge: 745

20.10.2013, 19:59:18 via Website

*/
Carsten Müller
Was heißt "Gif library laden"?

Wie lädst Du was?

Ohne Code kann man schwer helfen...

Herzliche Grüße

Carsten
im b4a forum gibt es eine gif decoder library...
da ist der ganze code und die infos...
mfg
http://www.basic4ppc.com/android/help/gifdecoder.html
http://www.basic4ppc.com/android/forum/threads/animated-gif-decode-library.6879/

Posts vor dem 22.12.2014 sind von dem Vorgänger dieses Accounts

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

20.10.2013, 20:00:09 via Website

Hi nochmal,

lädst Du die Grafiken eventuell mit LoadBitmap? Dann ist klar, dass das bei größeren Grafiken aufgrund der Hauptspeicherbegrenzung einer App nicht funktioniert.

Nimm LoadBitmapSample... http://www.basic4ppc.com/android/wiki/index.php/Keywords#LoadBitmapSample_.28....29_As_Bitmap

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
P-T
  • Forum-Beiträge: 745

20.10.2013, 20:02:26 via Website

Carsten Müller
Hi nochmal,

lädst Du die Grafiken eventuell mit LoadBitmap? Dann ist klar, dass das bei größeren Grafiken aufgrund der Hauptspeicherbegrenzung einer App nicht funktioniert.

Nimm LoadBitmapSample... http://www.basic4ppc.com/android/wiki/index.php/Keywords#LoadBitmapSample_.28....29_As_Bitmap

Herzliche Grüße

Carsten
...ja tu ich...
aber was ist da anders?

Posts vor dem 22.12.2014 sind von dem Vorgänger dieses Accounts

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

20.10.2013, 20:03:50 via Website

Hi,

Und was soll ich jetzt damit anfangen? Soll ich jetzt raten, was bei Dir nicht geht?

Bitte: Fehlermeldungen und Quellcode, der nicht funktioniert.

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

20.10.2013, 20:06:52 via Website

Chris H.

aber was ist da anders?
Das steht doch da!!!

The decoder will subsample the bitmap if MaxWidth or MaxHeight are smaller than the bitmap dimensions.
This can save a lot of memory when loading large images.


Bitte lies doch auch die Links und das, was ich Dir schreibe!!!

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
P-T
  • Forum-Beiträge: 745

20.10.2013, 20:08:18 via Website

Carsten Müller
Chris H.

aber was ist da anders?
Das steht doch da!!!

The decoder will subsample the bitmap if MaxWidth or MaxHeight are smaller than the bitmap dimensions.
This can save a lot of memory when loading large images.


Bitte lies doch auch die Links und das, was ich Dir schreibe!!!

Herzliche Grüße

Carsten
tue ich - verstehe aber nur die hälfte von dem englischen satz... :(

Posts vor dem 22.12.2014 sind von dem Vorgänger dieses Accounts

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

20.10.2013, 20:12:31 via Website

Chris H.

tue ich - verstehe aber nur die hälfte von dem englischen satz... :(
Kannst Du kein Englisch? :blink:

Englisch ist bei der Softwareentwicklung eigentlich essentiell... Ohne kommst Du nicht weit.

Im Kern sagen diese beiden Sätze:

LoadBitmapSample lädt die Grafiken in einer reduzierten Größe, was den Hauptspeicherbedarf signifikant reduziert.

LoadBitmap indes lädt die Grafiken in ihrer Originalgröße, was schlicht schnell mehr Hauptspeicher benötigt als Android der App zur Verfügung stellt.

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Sam Browder

Antworten
P-T
  • Forum-Beiträge: 745

20.10.2013, 20:27:35 via Website

Carsten Müller
Chris H.

tue ich - verstehe aber nur die hälfte von dem englischen satz... :(
Kannst Du kein Englisch? :blink:

Englisch ist bei der Softwareentwicklung eigentlich essentiell... Ohne kommst Du nicht weit.

Im Kern sagen diese beiden Sätze:

LoadBitmapSample lädt die Grafiken in einer reduzierten Größe, was den Hauptspeicherbedarf signifikant reduziert.

LoadBitmap indes lädt die Grafiken in ihrer Originalgröße, was schlicht schnell mehr Hauptspeicher benötigt als Android der App zur Verfügung stellt.

Herzliche Grüße

Carsten
AHH...
ok dann hab ich das jetzt zu 100 % verstanden...
Ich kann englisch nicht so gut aber zum unterhalten reichts ;)
mfg und gute nacht

Posts vor dem 22.12.2014 sind von dem Vorgänger dieses Accounts

Sam Browder

Antworten
P-T
  • Forum-Beiträge: 745

21.10.2013, 17:41:59 via Website

Chris H.
Carsten Müller
Chris H.

tue ich - verstehe aber nur die hälfte von dem englischen satz... :(
Kannst Du kein Englisch? :blink:

Englisch ist bei der Softwareentwicklung eigentlich essentiell... Ohne kommst Du nicht weit.

Im Kern sagen diese beiden Sätze:

LoadBitmapSample lädt die Grafiken in einer reduzierten Größe, was den Hauptspeicherbedarf signifikant reduziert.

LoadBitmap indes lädt die Grafiken in ihrer Originalgröße, was schlicht schnell mehr Hauptspeicher benötigt als Android der App zur Verfügung stellt.

Herzliche Grüße

Carsten
AHH...
ok dann hab ich das jetzt zu 100 % verstanden...
Ich kann englisch nicht so gut aber zum unterhalten reichts ;)
mfg und gute nacht
hallo-loadbitmapsmaple funktioniert nicht...-denoch habe ich gif.framehight und wight gefunden..
hat das den gleichen effekt?
und wieso geht gif.framewight = 120 oder gif.framewight(120) nicht?
mfg

Posts vor dem 22.12.2014 sind von dem Vorgänger dieses Accounts

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

21.10.2013, 17:42:59 via Website

Hi,

loadbitmapsmaple funktioniert nicht
Selbstverständlich geht das.

Was soll denn daran nicht funktionieren?

Bitte Codezeile + Fehlermeldung.

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
P-T
  • Forum-Beiträge: 745

21.10.2013, 17:45:40 via Website

Carsten Müller
Hi,

loadbitmapsmaple funktioniert nicht
Selbstverständlich geht das.

Was soll denn daran nicht funktionieren?

Bitte Codezeile + Fehlermeldung.

Herzliche Grüße

Carsten
gif.Loadbitmapsample(File.DirAssets, "H.gif", 250, 120)
der macht zwar bitmapsample so: BitmapSample aber es geht nicht...

Posts vor dem 22.12.2014 sind von dem Vorgänger dieses Accounts

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

21.10.2013, 17:47:49 via Website

Hi,

der macht zwar bitmapsample so: BitmapSample aber es geht nicht...
Was heißt das? Ich verstehe den Satz nicht...

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
P-T
  • Forum-Beiträge: 745

21.10.2013, 17:49:53 via Website

[quote=Carsten Müller]Hi,

der macht zwar bitmapsample so: BitmapSample aber es geht nicht...
Was heißt das? Ich verstehe den Satz nicht...

Herzliche Grüße

Carsten[/quot
...vergiss es- wie meintest du das mit bitmap sample?-wie wäre dein code gewesen?-weil meiner funzt nicht..:(

Posts vor dem 22.12.2014 sind von dem Vorgänger dieses Accounts

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

21.10.2013, 17:52:20 via Website

Hi,

ich habe Dir an anderer Stelle schon mal empfohlen, Dir meinen Workshop durchzulesen und ihn durchzuarbeiten:

http://www.android-user.de/Magazin/Archiv/2012/12/Anwendungsentwicklung-mit-Basic4Android

Seite 5, da findest Du ein Beispiel für LoadBitmapSample.

1ImageView1.Bitmap = LoadBitmapSample(verzeichnis,dateiliste.get(bildnummer),500,500)

Dort findest Du sogar den kompletten Quellcode der im Workshop produzierten Fotonotiz-App...

Herzliche Grüße

Carsten

— geändert am 21.10.2013, 17:53:41

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
P-T
  • Forum-Beiträge: 745

21.10.2013, 17:54:35 via Website

Carsten Müller
Hi,

ich habe Dir an anderer Stelle schon mal empfohlen, Dir meinen Workshop durchzulesen und ihn durchzuarbeiten:

http://www.android-user.de/Magazin/Archiv/2012/12/Anwendungsentwicklung-mit-Basic4Android

Seite 5, da findest Du ein Beispiel für LoadBitmapSample.

1ImageView1.Bitmap = LoadBitmapSample(verzeichnis,dateiliste.get(bildnummer),500,500)

Herzliche Grüße

Carsten
aber die library hat da den code so:
1ImageView1.Bitmap = gif.Frame(Frame)
mfg

Posts vor dem 22.12.2014 sind von dem Vorgänger dieses Accounts

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

21.10.2013, 18:02:06 via Website

Hi,

okay, dann lass uns erstmal bei was anderem starten.
Bis ich Dir jetzt erklärt habe, wie Du Hunderte Zeilen Quellcode dieses GIFDecoders ändern könntest, werde ich vermutlich längst unter der Erde weilen und die Radieschen von unten betrachten.

Du verwendest also diesen GIFDecoder. Das heißt, Du willst ein animiertes GIF darstellen. Richtig?

Ein animiertes GIF sollte eigentlich recht schlank sein. Was ist denn das für eine Grafik? Wieso ist die überhaupt so groß?

Und nächste Frage: Was ist der Sinn des ganzen? Womöglich liege ich falsch, aber Du schreibst:

"um einen ladevorgang zu zeigen"

Du meinst doch nicht etwa eine ProgessBar?
Falls doch, dann verwende doch einfach eine Progressbar oder einen Progressdialog...

1ProgressDialogShow2("Loading...", False)

... und vergiss den animierten GIF Schwachsinn....!?

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
P-T
  • Forum-Beiträge: 745

21.10.2013, 18:05:52 via Website

Carsten Müller
Hi,

okay, dann lass uns erstmal bei was anderem starten.
Bis ich Dir jetzt erklärt habe, wie Du Hunderte Zeilen Quellcode dieses GIFDecoders ändern könntest, werde ich vermutlich längst unter der Erde weilen und die Radieschen von unten betrachten.

Du verwendest also diesen GIFDecoder. Das heißt, Du willst ein animiertes GIF darstellen. Richtig?

Ein animiertes GIF sollte eigentlich recht schlank sein. Was ist denn das für eine Grafik? Wieso ist die überhaupt so groß?

Und nächste Frage: Was ist der Sinn des ganzen? Womöglich liege ich falsch, aber Du schreibst:

"um einen ladevorgang zu zeigen"

Du meinst doch nicht etwa eine ProgessBar?
Falls doch, dann verwende doch einfach eine Progressbar oder einen Progressdialog...

1ProgressDialogShow2("Loading...", False)

... und vergiss den animierten GIF Schwachsinn....!?

Herzliche Grüße

Carsten
...hmm-das ist full hd das gif und die progressbar ist zu langweilig...
wie kriegt man den hier eine zahl rein???
FrameCount As Int [read only]

Returns the number of frames in the last GIF loaded.
FrameHeight As Int [read only]

Returns the height of each frame in the last GIF loaded.

Posts vor dem 22.12.2014 sind von dem Vorgänger dieses Accounts

Antworten
P-T
  • Forum-Beiträge: 745

21.10.2013, 18:08:45 via Website

Chris H.
Carsten Müller
Hi,

okay, dann lass uns erstmal bei was anderem starten.
Bis ich Dir jetzt erklärt habe, wie Du Hunderte Zeilen Quellcode dieses GIFDecoders ändern könntest, werde ich vermutlich längst unter der Erde weilen und die Radieschen von unten betrachten.

Du verwendest also diesen GIFDecoder. Das heißt, Du willst ein animiertes GIF darstellen. Richtig?

Ein animiertes GIF sollte eigentlich recht schlank sein. Was ist denn das für eine Grafik? Wieso ist die überhaupt so groß?

Und nächste Frage: Was ist der Sinn des ganzen? Womöglich liege ich falsch, aber Du schreibst:

"um einen ladevorgang zu zeigen"

Du meinst doch nicht etwa eine ProgessBar?
Falls doch, dann verwende doch einfach eine Progressbar oder einen Progressdialog...

1ProgressDialogShow2("Loading...", False)

... und vergiss den animierten GIF Schwachsinn....!?

Herzliche Grüße

Carsten
...hmm-das ist full hd das gif und die progressbar ist zu langweilig...
wie kriegt man den hier eine zahl rein???
FrameCount As Int [read only]

Returns the number of frames in the last GIF loaded.
FrameHeight As Int [read only]

Returns the height of each frame in the last GIF loaded.
moment nur hier:
FrameHeight As Int [read only]

Posts vor dem 22.12.2014 sind von dem Vorgänger dieses Accounts

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

21.10.2013, 18:26:32 via Website

Hi,

das ist full hd das gif
:blink:
:mellow:

Ein animiertes GIF in Full HD?

Sorry, aber das ist hanebüchener Unfug, was Du da machst.

wie kriegt man den hier eine zahl rein???
FrameCount As Int [read only]
Das ist erstens read only (steht doch da!), weil die Anzahl der Frames doch im animierten GIF definiert ist. Das kannst Du also nur auslesen.
Und zweitens hilft Dir das alles nicht, weil Deine Grafik schlicht zu groß ist und mit LoadBitmap nicht geladen werden kann. Du brauchst dafür LoadBitmapSample!!!

Und da Du mit LoadBitmapSample sowieso die Größe der Grafik reduzierst, kannst Du auch gleich die Grafik in einem sinnvollen Format und einer sinnvollen Größe erstellen. Dann wiederum kannst Du auch LoadBitmap nehmen...

Herzliche Grüße

Carsten

— geändert am 21.10.2013, 18:30:24

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
P-T
  • Forum-Beiträge: 745

21.10.2013, 18:36:07 via Website

Carsten Müller
Hi,

das ist full hd das gif
:blink:
:mellow:

Ein animiertes GIF in Full HD?

Sorry, aber das ist hanebüchener Unfug, was Du da machst.

wie kriegt man den hier eine zahl rein???
FrameCount As Int [read only]
Das ist erstens read only (steht doch da!), weil die Anzahl der Frames doch im animierten GIF definiert ist. Das kannst Du also nur auslesen.
Und zweitens hilft Dir das alles nicht, weil Deine Grafik schlicht zu groß ist und mit LoadBitmap nicht geladen werden kann. Du brauchst dafür LoadBitmapSample!!!

Und da Du mit LoadBitmapSample sowieso die Größe der Grafik reduzierst, kannst Du auch gleich die Grafik in einem sinnvollen Format und einer sinnvollen Größe erstellen. Dann wiederum kannst Du auch LoadBitmap nehmen...

Herzliche Grüße

Carsten
puhhh

Posts vor dem 22.12.2014 sind von dem Vorgänger dieses Accounts

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

21.10.2013, 18:47:17 via Website

puhhh
Tja, die Welt ist hart.

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
P-T
  • Forum-Beiträge: 745

21.10.2013, 18:47:55 via Website

Carsten Müller
puhhh
Tja, die Welt ist hart.

Herzliche Grüße

Carsten
wo hast du eigentlich die ganzen sprüche her...

Posts vor dem 22.12.2014 sind von dem Vorgänger dieses Accounts

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

21.10.2013, 20:07:52 via Website

Chris H.
wo hast du eigentlich die ganzen sprüche her...
Die braucht man hier... :grin:

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten