Mogę sobie wyobrazić, że jest to pomoc dla programisty.
Jeśli nie potrzebujesz konstrukcji @ + id, wtedy wszystkie odniesienia @id/konstrukcje byłyby ważne, wtedy trudno byłoby wyśledzić błąd, ponieważ kompilator nie zawiedzie na niewłaściwych referencjach (jak to by było po prostu skonstruować identyfikator literówki).
Inaczej mówiąc, wszystkie błędy odniesień do identyfikatorów musiałyby zostać wykryte w czasie wykonywania.
Edit:
Właśnie zauważyłem podobną odpowiedź od Piovezan, odnośnie Twojego komentarza:
Maybe, but the result is that many devs use @+id everywhere, since there is no error if the id is already defined, and everything works just fine. That means the compiler tests if the id already exist, but not if it does not exist, that's crazy
Następnie te deweloperzy nadużywanie @ + id budowę imo.
O wiele lepiej jest mieć opcję rozróżniania pomiędzy @ + id i @id, ponieważ (dla tych, którzy nie używają błędnie identyfikatora @ +), kompilator ma szansę podać błąd czasu kompilacji na błędnych odniesieniach .
Edit2
I zająć się komentarz:
That's the link I gave in the first sentence. It explains the difference but does not answer why the '+' cannot be automatically infered by AAPT
wierzę, że mogę, po prostu nie ma powodu do argumentacji powyżej (wierzę).
http://stackoverflow.com/questions/5025910/difference-between-id-and-id-in-android - odnoszą się do tego – N20084753
@ N20084753 Już wspomniał o tym w OP. – Piovezan
@ N20084753 To jest link, który podałem w pierwszym zdaniu. Wyjaśnia różnicę, ale nie odpowiada, dlaczego AAPT nie może automatycznie wywoływać "+". –