Mitglieder surfen ohne Werbung: Jetzt kostenlos registrieren!

Position von TextView im Bildschirm ermitteln

  • 4 Antworten
  • Neuester Beitrag
Diskutiere Position von TextView im Bildschirm ermitteln im Android App Entwicklung im Bereich Betriebssysteme & Apps.
J

JoEntwickler

Ambitioniertes Mitglied
Hallo,
ich habe ein kleines simples Spiel entwickelt in dem Blöcke runterfallen die man dann auffangen muss. Diese Blöcke sind TextViews mit einer Hintergrundfarbe.
Irgendwann stürzt die App aber ab und ich hab keine Ahnung warum.
Ich bin mir zum größten Teil sicher das es an der Positionsermittlung liegt.

Ich bekomme folgende Fehlermeldung:
Code:
OpenGLRenderer: Cannot get a dirty matrix!
A/libc: Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 29175 (Thread-30), pid 28792 (de.jo.lines)
und in der Google Play Console steht das drin:
Code:
  #00  pc 00000000000220ac  /system/lib64/libc.so (abort+116)
  #01  pc 0000000000008644  /system/lib64/liblog.so (__android_log_assert+296)
  #02  pc 0000000000101764  /system/lib64/libandroid_runtime.so (android::android_view_RenderNode_hasIdentityMatrix(long)+120)
  #03  pc 00000000003db840  /system/framework/arm64/boot-framework.oat (offset 0x3d1000) (android.graphics.Matrix.nIsAffine [DEDUPED]+64)
  #04  pc 0000000000b84b90  /system/framework/arm64/boot-framework.oat (offset 0x3d1000) (android.view.RenderNode.hasIdentityMatrix+48)
  #05  pc 0000000000c91a4c  /system/framework/arm64/boot-framework.oat (offset 0x3d1000) (android.view.View.transformFromViewToWindowSpace+188)
  #06  pc 0000000000c7a40c  /system/framework/arm64/boot-framework.oat (offset 0x3d1000) (android.view.View.getLocationInWindow+76)
  #07  pc 000000000001da64  /dev/ashmem/dalvik-jit-code-cache (deleted)
Meine Ermittlung der Standorts geht so:
Java:
public static Point getLocationOnScreen(View view) {
        int[] location = new int[2];
        view.getLocationInWindow(location);
        return new Point(location[0], location[1]);
    }
Hatte das jemand schon mal?
 
J

jogimuc

Stammgast
Hallo kann an der position liegen muss es aber nicht sein.
Er sagt dir das mit der matrix was nicht stimmt.

Hier wäre interessant wo wie du die benutzt. Ich denke mal das du dein layout Zooms und dafür die matrix benutzt. Mutmaßungen meiner seits.

Da wir keinen Code haben können wir auch nichts sagen. Das was du und gegen hast reicht nicht.
 
Zuletzt bearbeitet:
D

deek

Stammgast
Ich könnte mir vorstellen, dass du hier ein nebenläufiges Problem hast. Das Animieren deiner runterfallenden Blöcke passiert in einem anderen Thread als dein getLocationOnScreen (oder eventuell sogar noch was anderes)
Dadurch ändert sich während der Operation irgendeine Matrix und du bist im inkonsitenten Zustand. Eventuell hilf hier Locking, aber das müsste man genauer untersuchen.
 
J

JoEntwickler

Ambitioniertes Mitglied
Ja es wird in einem anderen Thread gemacht. Was genau ist Locking?
 
Ähnliche Themen - Position von TextView im Bildschirm ermitteln Antworten Datum
1
10
1