- Posts: 100
- Thank you received: 0
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
- asliyanage
- Topic Author
- Offline
- Premium Member
-
Less
More
IP: 192.168.0.71
11 years 8 months ago #8338
by asliyanage
OutOfMemoryError when use radaee library was created by asliyanage
I used radaee library for my app.
I have customized the PDFReader class.
when i run the app i got below exception
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)
IP: 192.168.0.71
11 years 8 months ago #8340
by radaee
Replied by radaee on topic OutOfMemoryError when use radaee library
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.
PDFReader cost more memory, in large zoom level, because it render whole page as 1 bitmap.
- asliyanage
- Topic Author
- Offline
- Premium Member
-
Less
More
- Posts: 100
- Thank you received: 0
IP: 192.168.0.71
11 years 8 months ago #8342
by asliyanage
Replied by asliyanage on topic OutOfMemoryError when use radaee library
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);
I know we can open pdf using PDFReader as below.
m_reader.PDFOpen(m_doc, false, this);
m_reader.PDFSetView(3);
- asliyanage
- Topic Author
- Offline
- Premium Member
-
Less
More
- Posts: 100
- Thank you received: 0
IP: 192.168.0.71
11 years 8 months ago #8343
by asliyanage
Replied by asliyanage on topic OutOfMemoryError when use radaee library
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);
I know we can open pdf using PDFReader as below.
m_reader.PDFOpen(m_doc, false, this);
m_reader.PDFSetView(3);
IP: 192.168.0.71
11 years 8 months ago #8344
by radaee
Replied by radaee on topic OutOfMemoryError when use radaee library
yes, mostly methods are same.
plz see PDFLayoutAct, and you can launch PDFLayoutAct, modify start Activity in AndroidManifest.xml
plz see PDFLayoutAct, and you can launch PDFLayoutAct, modify start Activity in AndroidManifest.xml
- asliyanage
- Topic Author
- Offline
- Premium Member
-
Less
More
- Posts: 100
- Thank you received: 0
IP: 192.168.0.71
11 years 8 months ago #8345
by asliyanage
Replied by asliyanage on topic OutOfMemoryError when use radaee library
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