das ist das Problem, das ich lief. Ich habe das liner Rekursion bemerkt wieAndroid stackoverflow Rekursion
public void memtest(int i){
Log.d("memory", i + ""); memtest(i+1);}
erhält einen Fehler auf i = 566 wegen der
threadid = 1: Stapelüberlauf auf Abruf Ljava/util/Arrays; .checkOffsetAndCount: VIII
int sollte nur 4 Bytes (2,21 kbytes insgesamt + Links) verwenden
Ist es ein System, das App mit CPU oder Rekursion verbietet, ist zu schwer für mobile Apps? Hoffentlich muß ich viel komplizierte Aufgaben wie Lee-Algorithmus (mit mindestens 4 (auch 8) pro Aufgabe nennt)
protected void volna(int x, int y, int k) {
field[x][y] = k;
if ((x != finx) & (y != finy)) {
if ((x > 0) && (field[x - 1][y] == 0)) volna(x - 1, y, k + 1);
if ((x < map.getWidth()) && (field[x + 1][y] == 0)) volna(x + 1, y, k + 1);
if ((y > 0) && (field[x][y - 1] == 0)) volna(x, y - 1, k + 1);
if ((y < map.getHeight()) && (field[x][y + 1] == 0)) volna(x, y + 1, k + 1);
}
So ist es eine schlechte Idee Rekursion zu verwenden und welche Einschränkungen der CPU-Auslastung ?
Vielen Dank im Voraus,
Andrey
Wie tiefe Rekursion kann gehen? – kupihleba
Ich habe gehört, dass Stacks eine Grenze von etwa 12 kb hat, oder? Aber es hat nur 2+ kb – kupihleba