Error in TextView.measure: JNI DETECTED ERROR IN APPLICATION

0

The complete error is:

  

JNI DETECTED ERROR IN APPLICATION: thread   Thread [1, tid = 15011, Runnable, Thread * = 0xa7d85400, peer = 0x7593a268, "main"]   using JNI after critical get in call to DeleteGlobalRef

Occurs in a recursive method that adjusts the text size in a textview:

protected void ajustarTexto(int espacio){
    // tamaño en pixeles      
    float tamanno = outputTxt.getTextSize() -2;
    outputTxt.setTextSize(TypedValue.COMPLEX_UNIT_PX, tamanno);
    int heightMeasureSpec = MeasureSpec.makeMeasureSpec(0,MeasureSpec.UNSPECIFIED);
    int widthMeasureSpec = MeasureSpec.makeMeasureSpec(ancho, MeasureSpec.EXACTLY);
    outputTxt.measure(widthMeasureSpec,heightMeasureSpec);
    alturaMedida = outputTxt.getMeasuredHeight();
    Log.d(TAG, "ajustarTexto: altura medida= "+alturaMedida);
    if(espacio <= alturaMedida)      ajustarTexto(espacio);
}

The method works very well until you turn to it many times in a row, then throwing this error:

  

07-15 12: 23: 28.758 15011-15011 / com.gonpas.diloflo.full D / CanvasVirgin: adjustText: measured height = 1806
  07-15 12: 23: 28.765 15011-15011 / com.gonpas.diloflo.full D / CanvasVirgin: adjustText: measured height = 1558
  07-15 12: 23: 28,772 15011-15011 / com.gonpas.diloflo.full D / CanvasVirgin: adjustText: measured height = 1529
  07-15 12: 23: 28.779 15011-15011 / com.gonpas.diloflo.full D / CanvasVirgin: adjustText: measured height = 1397
  07-15 12: 23: 28.786 15011-15011 / com.gonpas.diloflo.full D / CanvasVirgin: adjustText: measured height = 1381
  07-15 12: 23: 28.793 15011-15011 / com.gonpas.diloflo.full D / CanvasVirgin: adjustText: measured height = 1344
  07-15 12: 23: 28,800 15011-15011 / com.gonpas.diloflo.full D / CanvasVirgin: adjustText: measured height = 1230
  07-15 12: 23: 28,806 15011-15011 / com.gonpas.diloflo.full D / CanvasVirgin: adjustText: measured height = 1205

07-15 12:23:28.816 15011-15011/com.gonpas.diloflo.full E/art: JNI DETECTED ERROR IN APPLICATION: thread Thread[1,tid=15011,Runnable,Thread*=0xa7d85400,peer=0x7593a268,"main"] using JNI after critical get in call to DeleteGlobalRef  
    from float android.graphics.Paint.nGetRunAdvance(long, long, char[], int, int, int, int, boolean, int)
"main" prio=5 tid=1 Runnable
  | group="main" sCount=0 dsCount=0 obj=0x7593a268 self=0xa7d85400
  | sysTid=15011 nice=0 cgrp=default sched=0/0 handle=0xab267534
  | state=R schedstat=( 11629069753 2112232793 6391 ) utm=1068 stm=94 core=1 HZ=100
  | stack=0xbe392000-0xbe394000 stackSize=8MB
  | held mutexes= "mutator lock"(shared held)
    at android.graphics.Paint.nGetRunAdvance(Native method)
    at android.graphics.Paint.getRunAdvance(Paint.java:2591)
    at android.graphics.Paint.getRunAdvance(Paint.java:2623)
    at android.text.TextLine.handleText(TextLine.java:733)
    at android.text.TextLine.handleRun(TextLine.java:884)
    at android.text.TextLine.measureRun(TextLine.java:393)
    at android.text.TextLine.measure(TextLine.java:283)
    at android.text.TextLine.metrics(TextLine.java:257)
    at android.text.BoringLayout.isBoring(BoringLayout.java:318)
    at android.widget.TextView.makeSingleLayout(TextView.java:7055)
    at android.widget.TextView.makeNewLayout(TextView.java:6947)
    at android.widget.TextView.onMeasure(TextView.java:7361)
    at android.view.View.measure(View.java:20084)
    at com.gonpas.diloflo.box.LienzoVirgen.ajustarTexto(LienzoVirgen.java:220)
    at com.gonpas.diloflo.box.LienzoVirgen.ajustarTexto(LienzoVirgen.java:223)
    at com.gonpas.diloflo.box.LienzoVirgen.ajustarTexto(LienzoVirgen.java:223)
    at com.gonpas.diloflo.box.LienzoVirgen.ajustarTexto(LienzoVirgen.java:223)
  ... repeated 53 times
    at com.gonpas.diloflo.box.LienzoVirgen.onDraw(LienzoVirgen.java:147)
    at android.view.View.draw(View.java:17320)
    at android.view.View.updateDisplayListIfDirty(View.java:16259)
    at android.view.View.draw(View.java:17070)
    at android.view.ViewGroup.drawChild(ViewGroup.java:3890)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3676)
    at android.support.constraint.ConstraintLayout.dispatchDraw(ConstraintLayout.java:1966)
    at android.view.View.updateDisplayListIfDirty(View.java:16251)
    at android.view.View.draw(View.java:17070)
07-15 12:23:28.817 15011-15011/com.gonpas.diloflo.full E/art:     at android.view.ViewGroup.drawChild(ViewGroup.java:3890)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3676)
    at android.view.View.updateDisplayListIfDirty(View.java:16251)
    at android.view.View.draw(View.java:17070)
    at android.view.ViewGroup.drawChild(ViewGroup.java:3890)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3676)
    at android.view.View.updateDisplayListIfDirty(View.java:16251)
    at android.view.View.draw(View.java:17070)
    at android.view.ViewGroup.drawChild(ViewGroup.java:3890)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3676)
    at android.view.View.updateDisplayListIfDirty(View.java:16251)
    at android.view.View.draw(View.java:17070)
    at android.view.ViewGroup.drawChild(ViewGroup.java:3890)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3676)
    at android.view.View.updateDisplayListIfDirty(View.java:16251)
    at android.view.View.draw(View.java:17070)
    at android.view.ViewGroup.drawChild(ViewGroup.java:3890)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3676)
    at com.android.internal.policy.DecorView.dispatchDraw(DecorView.java:792)
    at android.view.View.draw(View.java:17332)
    at com.android.internal.policy.DecorView.draw(DecorView.java:778)
    at android.view.View.updateDisplayListIfDirty(View.java:16259)
    at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:661)
    at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:667)
    at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:775)
    at android.view.ViewRootImpl.draw(ViewRootImpl.java:3188)
    at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2981)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2569)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1462)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6965)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:907)
    at android.view.Choreographer.doCallbacks(Choreographer.java:709)
    at android.view.Choreographer.doFrame(Choreographer.java:644)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:893)
    at android.os.Handler.handleCallback(Handler.java:836)
    at android.os.Handler.dispatchMessage(Handler.java:103)
    at android.os.Looper.loop(Looper.java:203)
    at android.app.ActivityThread.main(ActivityThread.java:6251)
    at java.lang.reflect.Method.invoke!(Native method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1063)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:924)

line 220 corresponds to:     outputTxt.measure (widthMeasureSpec, heightMeasureSpec); in the method

Can someone guide me with the problem?

    
asked by GonPas 15.07.2018 в 14:00
source

0 answers