Bu, karşılaştığım sorun. IAndroid stackoverflow özyineleme
public void memtest(int i){
Log.d("memory", i + ""); memtest(i+1);}
gibi bu astar Özyinelemeyi fark nedeniyle
ThreadID = 1 566 = i bir hata alır adres: Ljava/Util/diziler için çağrı yığın taşması; .checkOffsetAndCount: VIII
int yalnızca 4 bayt kullanmalıdır (2.21 kbaytlık toplam + bağlantılar)
Bu, cpu veya özyineleme kullanarak uygulamayı yasaklayan bir sistem mobil uygulamalar için zor mu? o Özyinelemeyi kullanmak kötü bir fikir, So
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);
}
(en az 4 (hatta 8) görev başına çağıran birlikte) ve CPU kullanımı kısıtlama nelerdir Umarım, Lee algoritma gibi çok daha karmaşık görevler lüzum ?
öncedenAndrey teşekkür ederiz
Ne kadar derinlemesine geçilebilir? – kupihleba
Yığınların 12 kb'ye kadar bir sınırı olduğunu duydum, değil mi? Ancak, yalnızca 2+ kb kullanmış – kupihleba