Wieso ist Java so blöd gemacht?

... komplette Frage anzeigen

6 Antworten

Das liegt nicht an der Sprache Java, sondern an den Bits in CPU und Speicher. Die nutzen sich bei Gebrauch nämlich ab, und nach einer Weile kann ein einzelnes Bit dann nicht mehr 0 und 1 Speichern, sondern nur noch Werte zwischen Null und 0,9 oder manchmal sogar nur noch 0,8 oder gar 0,7.

Wenn ein Bit jetzt nicht mehr genaue Boolesche Werte speichern kann, sondern nur noch irgendwelchen Fuzzy-Quatsch dazwischen, dann verschluckt sich die CPU daran, und muss oftmals "länger" hinschauen um einen Wahrheitswert eindeutig zuordnen zu können.

Und genau DAS macht sich dann darin bemerkbar, dass dein Android mit der Zeit langsamer wird.

Bei Desktop-Computern merkst du das nur nicht, weil die wesentlich mehr Bits zur Verfügung haben und die Bits sich dabei im Schnitt wesentlich langsamer abnutzen.

Der dazu gehörige Fachbegriff ist übrigens "Bit-Abnutzungs-Faktor" oder kurz BAF und bezeichnet die durchschnittliche Abnutzung aller Bits in deinem Gerät.

Wie gesagt, wenn der Faktor bei 0,9 liegt, merkt man schon dass das Gerät immer langsamer wird. Bei einem Faktor von 0,7 sind viele Smartphones gar nicht mehr zu gebrauchen.

Falls dich das Thema der Bitabnutzung interessiert:

https://de.wikipedia.org/wiki/BAF\_%28Bitabnutzungsfaktor%29

Viel Spaß beim Lesen! ;)

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von KnusperPudding
23.05.2016, 08:25

Klingt sehr plausibel, allerdings hab ich wohl zu voreilig positiv bewertet, denn weder der Wikipedia-Artikel existiert noch finde ich google-hits zu dem Thema.

Daher meine Frage: ehrlich? Ich hab mich mit dem Thema nie aus einander gesetzt und würde das auch irgendwo gerne verstehen.

Deine Kompetenz zweifel ich eigentlich nicht an. Umso verwunderter bin ich nur warum ich zu dem Thema nichts finde. Danke im vorraus.

1
Kommentar von webflexer
23.05.2016, 09:13

Selten so viel Müll auf einmal gelesen.

1
Kommentar von SirNik
23.05.2016, 09:30

Klingt vielleicht Plausibel für unahnende...aber überleg mal: 1 = strom fließt, 0 = kein strom, und so weiter. es gibt keine zwischenwerte. es gibt durchaus das Problem, dass wegen Störungen bits falsch interpretiert werden, da die Spannungsgrenze zu nieder oder zu hoch ist (depending on Prozessor und so: bsp: 5V = High/1, 0V = Low/0; wenn wegen Störungen jetzt Spannungspegel absinkt/steigt, dann kann es zu falschen Interpretationen kommen), aber das sind äußere Einflüsse, mir wäre nichts bekannt, dass die Internen Komponenten sich mit der zeit störerisch abnutzen. Wenn Verschleiß, dann nicht so........

1
Kommentar von maximilianus7
23.05.2016, 11:42

da bin ich aber BAFf  ;-)

2

Hallo,

das muss aber nun wirklich nicht an der Programmiersprache liegen.

Da könnte man ja genauso behaupten, C sei eine dumme Sprache, weil Windows damit programmiert wurde, und das ...

Aber daran liegt es mitnichten. Es kommt in den meisten Fällen darauf an, was der Programmierer anordnet, weniger auf die Sprache. Die Sprache könnte das Endprodukt höchstens beeinflussen, wenn sie sehr ausbremsend gestaltet ist. Dies würde sich aber gleich bemerkbar machen, und Java ist nicht allzu langsam :)

Für solche Löschungsbeschwerden etc. kannst du dich übrigens oben ans Forum oder unten ans Impressum wenden. :)

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Fragee1456
22.05.2016, 22:16

Hab schon das Team per Email kontaktiert also auf nicht einverstanden gedrückt, und hab gefragt was des soll. danke für deine Antwort :)

0

Java ist eine Sprache und hat nichts mit Geschwindigkeit zu tun, mal ganz davon abgesehen, dass der Linux Kernel in C geschrieben ist und ART, also der Grundbaustein von Android in C/C++.
Die meisten Geräte werden nur langsam weil die Hersteller zu blöd sind richtige Updates raus zu bringen und die Hardware eben nicht mehr die neueste ist, ein Nexus Gerät funktioniert auch nach 3 Jahren noch problemlos.
Noch mal zu Java: Wie schon erwähnt ist Java ein Sprache und hat damit relativ wenig mit Geschwindigkeit zu tun, eher die Java Virtual Machine, welche bei Android das Android Runtime ist, welches aber sogar sehr gut gemacht ist.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Fragee1456
22.05.2016, 22:33

naja, ich hab nen Huawei mein Freund nen Samsung, beide Geräte sind Dumm und wir haben beide die gleichen Laggs .

0
Kommentar von androhecker
22.05.2016, 22:36

Tja Pech, ich kaufe nur noch Nexus Geräte und habe nie Probleme. Motorola ist bei dem Thema auch noch ganz gut, alle anderen Hersteller eher nicht.

0
Kommentar von androhecker
23.05.2016, 10:25

Ich kenne mich da mehr als genug aus, außer dieser App hier habe ich keine schlechten Apps installiert und mein S2 hat schon nach 2 Jahren Verwendung mehr oder weniger den Geist aufgegeben, selbst nach einer kompletten Neuinstallation des Systems ist das jede halbe Stunde abgestürzt, und ansonsten war es auch eher träge. (Mal ganz davon abgesehen dass ich außer einem kleinem Patch kein einziges Update bekommen habe)

0

Es ist angeblich die "Hardware'' Die CPU wird träge, nimmt nicht weniger Strom auf, Speicher vollgemüllt...

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Fragee1456
22.05.2016, 22:20

Das finde ich, isf völliger Quatsch. Aufm PC passiert sowas nicht, klar Smartphone CPUs sind komplett anders aber trotzdem nicht komplett verschieden! Denn wenn man Android neu aufsetzt funktioniert es auch einige Zeit ganz ok, nach einiger Zeit aber wieder so langsam wie zuvor. Speicher vollgemüllt...naja kann auch mitunter daran liegen, das meiste bezieht sich aber auf den ram und hat mit dem internen Speicher wenig, bis kaum zu tun!

0
Kommentar von jxnass
22.05.2016, 22:47

deswegen habe ich auch angeblich geschrieben, dies ist die Erklärung, aber ich denke das dies eine Marketingstrategie ist um ein neues Handy zu kaufen, wobei es oft zum teil an Junk daten aufm Handy liegt.

0
Kommentar von Fragee1456
22.05.2016, 23:33

jop

0

Liegt nicht an java oder der software sondern an der Hardware! Die wird halt auch abgenutzt! Sie kommst du auf Java? Das hat damit wirklich net viel zu tun..

Antwort bewerten Vielen Dank für Deine Bewertung

Ein Grund ist der verwendete Flash-Speicher der im Lauf der Zeit typischerweise immer voller wird - und Flash-Speicher wird beim Schreiben langsamer wenn er fast voll ist.

Auch viele installierte Apps erledigen teils Dinge im Hintergrund die aber Rechenleistung brauchen welche dann für andere Apps die man gerade verwendet fehlt.

Auch das Upgrade auf neuere Androidversionen kann u.U. dazu führen das ältere Geräte danach langsamer erscheinen...

Am besten Mal ein bisschen ausmisten - nicht benötigte Apps löschen, im Taskmanager schauen welche Apps die ganze Zeit im Hintergrund laufen und auch die Speicherkarte ein bisschen ausmisten so das sie nicht zu mehr als 80% belegt ist

Schlecht programmierte Apps die irgendwelche Daten speichern und nie wieder löschen können im Lauf der Zeit auch langsamer werden weil der gesammelte Datenmüll immer mehr wird.
Deinstallieren und Neuinstallieren kann da helfen.

Mit Java hat das ganze nichts zu tun

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Fragee1456
23.05.2016, 20:42

Naja, iwie mag ich Android net mehr. Der eine mag Android der andere iOS find aber aus eigenem empfinden dass ios flüssiger läuft und viele Leute bestätigen dies auch!

0

Was möchtest Du wissen?