Microsoft Windows Phone 8.1 support ends (13 Jul 2017)

Microsoft has ended support for Windows Phone 8.1

Questions about Android development and PDF

OutOfMemoryError when use radaee library

More
IP: 192.168.0.71 11 years 8 months ago #8338 by asliyanage
I used radaee library for my app.

I have customized the PDFReader class.
Code:
package com.sph.pdf; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.text.InputFilter; import android.text.InputType; import android.util.AttributeSet; import android.util.Log; import android.util.TypedValue; import android.view.Gravity; import android.widget.EditText; import com.radaee.pdf.Page; import com.radaee.reader.PDFReader; import com.radaee.util.ComboList; import com.radaee.view.PDFView.PDFPos; import com.sph.controller.SPHApplication; public class SPHCustomizedRadaeePDFReader extends PDFReader { private Context context; public SPHCustomizedRadaeePDFReader(Context context, AttributeSet attrs) { super(context, attrs); this.context=context; // TODO Auto-generated constructor stub } protected void onSizeChanged(int w, int h, int oldw, int oldh) { //if(oldw==0||oldh==0){ super.onSizeChanged(w, h, oldw, oldh); Log.d("SAMEERA", " SPHCustomizedonSizeChanged onSizeChanged " +context); //} } public boolean OnPDFSingleTapped(float x, float y) { //context=SPHApplication.getContext(); Log.d("ASL", " SPHCustomizedRadaeePDFReader OnPDFSingleTapped " +context); String tap="SingleTapped"; PDFActivity activity = (PDFActivity) context; activity.tapDetected(); /* Intent intent = new Intent(); //intent.putExtra("OnPDFSingleTapped",tap); intent.setAction("com.tutorialspoint.CUSTOM_INTENT"); context.sendBroadcast(intent);*/ return super.OnPDFSingleTapped(x,y); } // sameera public static boolean Swipeable() { //return false; return status; } // sameera public void isPdfSwipeable() { if (m_view != null) { /*Log.d("ASL","truetrue m_view.vGetWinH() "+m_view.vGetWinH()); Log.d("ASL","truetrue m_view.vGetWinW() "+m_view.vGetWinW()); Log.d("ASL","truetrue m_view.vGetX() "+m_view.vGetX()); Log.d("ASL","truetrue m_view.vGetY() "+m_view.vGetY());*/ if (m_view.vGetScale() == m_view.vGetMinScale()) { status = true; //if(m_view.vGetX() + m_view.vGetWinW() >= m_view.vGet) Log.d("ASL","truetrue m_view.vGetX() "+m_view.vGetWinW()); } else { status = false; /*if(m_view.vGetX()!=0){ status = false; } else{ status = true; } Log.d("ASL","falsefalse m_view.vGetX() "+m_view.vGetX());*/ } } } public boolean OnPDFDoubleTapped(float x, float y) { //Log.d("SAMEERA", "OnPDFDoubleTapped"); /* * if( m_status != STA_NORMAL ) return false; * m_view.vSetScale(m_view.vGetScale() + Global.zoomStep, x, y); */ //Log.d("SAMEERA", "m_view.vGetScale() "+m_view.vGetScale()); //Log.d("SAMEERA", "OnPDFDoubleTapped IFF"); /* if(true){ if (m_view.vGetScale() == m_view.vGetMinScale()) { m_view.vSetScale(m_view.vGetMaxScale(), x, y); // Log.d("SAMEERA", "OnPDFDoubleTapped IFF "+m_view.vGetScale()); } else { m_view.vSetScale(m_view.vGetMinScale(), x, y); //Log.d("SAMEERA", "OnPDFDoubleTapped ELSE "+m_view.vGetMinScale()); } }else{ */ if (m_view.vGetScale() == m_view.vGetMinScale()) { //if(m_view.vGetMaxScale()<9.598424f) if(m_view.vGetMaxScale()<9.598424f){ m_view.vSetScale(m_view.vGetMaxScale(), x, y); } else{ m_view.vSetScale(9.598424f, x, y); } // Log.d("SAMEERA", "OnPDFDoubleTapped IFF "+m_view.vGetScale()); } else { m_view.vSetScale(m_view.vGetMinScale(), x, y); //Log.d("SAMEERA", "OnPDFDoubleTapped ELSE "+m_view.vGetMinScale()); //}9.598424 } return true; } }

when i run the app i got below exception
Code:
01-20 16:56:47.309: W/System.err(18508): java.lang.OutOfMemoryError 01-20 16:56:47.314: W/System.err(18508): at android.graphics.Bitmap.nativeCreate(Native Method) 01-20 16:56:47.314: W/System.err(18508): at android.graphics.Bitmap.createBitmap(Bitmap.java:726) 01-20 16:56:47.314: W/System.err(18508): at android.graphics.Bitmap.createBitmap(Bitmap.java:703) 01-20 16:56:47.314: W/System.err(18508): at android.graphics.Bitmap.createBitmap(Bitmap.java:670) 01-20 16:56:47.314: W/System.err(18508): at com.radaee.view.PDFView.vResize(PDFView.java:218) 01-20 16:56:47.314: W/System.err(18508): at com.radaee.view.PDFViewDual.vResize(PDFViewDual.java:62) 01-20 16:56:47.319: W/System.err(18508): at com.radaee.reader.PDFReader.onSizeChanged(PDFReader.java:1140) 01-20 16:56:47.319: W/System.err(18508): at com.sph.pdf.SPHCustomizedRadaeePDFReader.onSizeChanged(SPHCustomizedRadaeePDFReader.java:34) 01-20 16:56:47.319: W/System.err(18508): at android.view.View.sizeChange(View.java:15326) 01-20 16:56:47.319: W/System.err(18508): at android.view.View.setFrame(View.java:15290) 01-20 16:56:47.319: W/System.err(18508): at android.view.View.layout(View.java:15201) 01-20 16:56:47.319: W/System.err(18508): at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1076) 01-20 16:56:47.319: W/System.err(18508): at android.view.View.layout(View.java:15204) 01-20 16:56:47.319: W/System.err(18508): at android.view.ViewGroup.layout(ViewGroup.java:4793) 01-20 16:56:47.324: W/System.err(18508): at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1076) 01-20 16:56:47.324: W/System.err(18508): at android.view.View.layout(View.java:15204) 01-20 16:56:47.324: W/System.err(18508): at android.view.ViewGroup.layout(ViewGroup.java:4793) 01-20 16:56:47.324: W/System.err(18508): at android.widget.FrameLayout.onLayout(FrameLayout.java:448) 01-20 16:56:47.324: W/System.err(18508): at android.view.View.layout(View.java:15204) 01-20 16:56:47.324: W/System.err(18508): at android.view.ViewGroup.layout(ViewGroup.java:4793) 01-20 16:56:47.324: W/System.err(18508): at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1594) 01-20 16:56:47.324: W/System.err(18508): at android.view.View.layout(View.java:15204) 01-20 16:56:47.329: W/System.err(18508): at android.view.ViewGroup.layout(ViewGroup.java:4793) 01-20 16:56:47.329: W/System.err(18508): at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1076) 01-20 16:56:47.329: W/System.err(18508): at android.view.View.layout(View.java:15204) 01-20 16:56:47.329: W/System.err(18508): at android.view.ViewGroup.layout(ViewGroup.java:4793) 01-20 16:56:47.329: W/System.err(18508): at android.widget.FrameLayout.onLayout(FrameLayout.java:448) 01-20 16:56:47.329: W/System.err(18508): at android.view.View.layout(View.java:15204) 01-20 16:56:47.329: W/System.err(18508): at android.view.ViewGroup.layout(ViewGroup.java:4793) 01-20 16:56:47.329: W/System.err(18508): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1677) 01-20 16:56:47.334: W/System.err(18508): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1531) 01-20 16:56:47.334: W/System.err(18508): at android.widget.LinearLayout.onLayout(LinearLayout.java:1440) 01-20 16:56:47.334: W/System.err(18508): at android.view.View.layout(View.java:15204) 01-20 16:56:47.334: W/System.err(18508): at android.view.ViewGroup.layout(ViewGroup.java:4793) 01-20 16:56:47.334: W/System.err(18508): at android.widget.FrameLayout.onLayout(FrameLayout.java:448) 01-20 16:56:47.334: W/System.err(18508): at android.view.View.layout(View.java:15204) 01-20 16:56:47.334: W/System.err(18508): at android.view.ViewGroup.layout(ViewGroup.java:4793) 01-20 16:56:47.339: W/System.err(18508): at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2260) 01-20 16:56:47.339: W/System.err(18508): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2007) 01-20 16:56:47.339: W/System.err(18508): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1249) 01-20 16:56:47.339: W/System.err(18508): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6364) 01-20 16:56:47.339: W/System.err(18508): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:791) 01-20 16:56:47.339: W/System.err(18508): at android.view.Choreographer.doCallbacks(Choreographer.java:591) 01-20 16:56:47.339: W/System.err(18508): at android.view.Choreographer.doFrame(Choreographer.java:561) 01-20 16:56:47.344: W/System.err(18508): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:777) 01-20 16:56:47.344: W/System.err(18508): at android.os.Handler.handleCallback(Handler.java:730) 01-20 16:56:47.344: W/System.err(18508): at android.os.Handler.dispatchMessage(Handler.java:92) 01-20 16:56:47.344: W/System.err(18508): at android.os.Looper.loop(Looper.java:176) 01-20 16:56:47.344: W/System.err(18508): at android.app.ActivityThread.main(ActivityThread.java:5419) 01-20 16:56:47.349: W/System.err(18508): at java.lang.reflect.Method.invokeNative(Native Method) 01-20 16:56:47.349: W/System.err(18508): at java.lang.reflect.Method.invoke(Method.java:525) 01-20 16:56:47.349: W/System.err(18508): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046) 01-20 16:56:47.349: W/System.err(18508): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862) 01-20 16:56:47.349: W/System.err(18508): at dalvik.system.NativeStart.main(Native Method) 01-20 16:56:47.359: W/FlurryAgent(18508): Error logged: uncaught 01-20 16:56:47.499: W/FlurryAgent(18508): Flurry session finalized 01-20 16:56:49.769: W/com.newrelic.agent.android(18508): setBytesReceived(...) called on TransactionState in COMPLETE state 01-20 16:56:49.769: W/com.newrelic.agent.android(18508): setStatusCode(...) called on TransactionState in COMPLETE state 01-20 16:56:49.769: W/FlurryAgent(18508): Analytics report sent. 01-20 16:56:53.744: I/com.newrelic.agent.android(18508): Crash 825aa35e-5797-13f5-e516-450a3bf545d4 successfully submitted. 01-20 16:56:55.494: D/dalvikvm(18508): GC_FOR_ALLOC freed 5586K, 14% free 56169K/64984K, paused 56ms, total 56ms 01-20 16:56:55.664: E/AndroidRuntime(18508): FATAL EXCEPTION: main 01-20 16:56:55.664: E/AndroidRuntime(18508): java.lang.OutOfMemoryError 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.graphics.Bitmap.nativeCreate(Native Method) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.graphics.Bitmap.createBitmap(Bitmap.java:726) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.graphics.Bitmap.createBitmap(Bitmap.java:703) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.graphics.Bitmap.createBitmap(Bitmap.java:670) 01-20 16:56:55.664: E/AndroidRuntime(18508): at com.radaee.view.PDFView.vResize(PDFView.java:218) 01-20 16:56:55.664: E/AndroidRuntime(18508): at com.radaee.view.PDFViewDual.vResize(PDFViewDual.java:62) 01-20 16:56:55.664: E/AndroidRuntime(18508): at com.radaee.reader.PDFReader.onSizeChanged(PDFReader.java:1140) 01-20 16:56:55.664: E/AndroidRuntime(18508): at com.sph.pdf.SPHCustomizedRadaeePDFReader.onSizeChanged(SPHCustomizedRadaeePDFReader.java:34) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.View.sizeChange(View.java:15326) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.View.setFrame(View.java:15290) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.View.layout(View.java:15201) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1076) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.View.layout(View.java:15204) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.ViewGroup.layout(ViewGroup.java:4793) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1076) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.View.layout(View.java:15204) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.ViewGroup.layout(ViewGroup.java:4793) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.widget.FrameLayout.onLayout(FrameLayout.java:448) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.View.layout(View.java:15204) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.ViewGroup.layout(ViewGroup.java:4793) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1594) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.View.layout(View.java:15204) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.ViewGroup.layout(ViewGroup.java:4793) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1076) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.View.layout(View.java:15204) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.ViewGroup.layout(ViewGroup.java:4793) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.widget.FrameLayout.onLayout(FrameLayout.java:448) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.View.layout(View.java:15204) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.ViewGroup.layout(ViewGroup.java:4793) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1677) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1531) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.widget.LinearLayout.onLayout(LinearLayout.java:1440) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.View.layout(View.java:15204) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.ViewGroup.layout(ViewGroup.java:4793) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.widget.FrameLayout.onLayout(FrameLayout.java:448) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.View.layout(View.java:15204) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.ViewGroup.layout(ViewGroup.java:4793) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2260) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2007) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1249) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6364) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:791) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.Choreographer.doCallbacks(Choreographer.java:591) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.Choreographer.doFrame(Choreographer.java:561) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:777) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.os.Handler.handleCallback(Handler.java:730) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.os.Handler.dispatchMessage(Handler.java:92) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.os.Looper.loop(Looper.java:176) 01-20 16:56:55.664: E/AndroidRuntime(18508): at android.app.ActivityThread.main(ActivityThread.java:5419) 01-20 16:56:55.664: E/AndroidRuntime(18508): at java.lang.reflect.Method.invokeNative(Native Method) 01-20 16:56:55.664: E/AndroidRuntime(18508): at java.lang.reflect.Method.invoke(Method.java:525) 01-20 16:56:55.664: E/AndroidRuntime(18508): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046) 01-20 16:56:55.664: E/AndroidRuntime(18508): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862) 01-20 16:56:55.664: E/AndroidRuntime(18508): at dalvik.system.NativeStart.main(Native Method)
More
IP: 192.168.0.71 11 years 8 months ago #8340 by radaee
it is better of you to use PDFLayoutView, if zoom level greater that 4.
PDFReader cost more memory, in large zoom level, because it render whole page as 1 bitmap.
More
IP: 192.168.0.71 11 years 8 months ago #8342 by asliyanage
could you pls provide me how to open pdf file using PDFLayoutView?

I know we can open pdf using PDFReader as below.

m_reader.PDFOpen(m_doc, false, this);
m_reader.PDFSetView(3);
More
IP: 192.168.0.71 11 years 8 months ago #8343 by asliyanage
could you pls provide me how to open pdf file using PDFLayoutView?
I know we can open pdf using PDFReader as below.
m_reader.PDFOpen(m_doc, false, this);
m_reader.PDFSetView(3);
More
IP: 192.168.0.71 11 years 8 months ago #8344 by radaee
yes, mostly methods are same.
plz see PDFLayoutAct, and you can launch PDFLayoutAct, modify start Activity in AndroidManifest.xml
More
IP: 192.168.0.71 11 years 8 months ago #8345 by asliyanage
i remember you told once PDFLayoutAct is still in beta version.Is it good to use this class in production.we are doing commercial item.
Time to create page: 0.417 seconds
Powered by Kunena Forum