Comments (10)
这个地方确实有内存泄露的情况,比较严重
from bigimageviewer.
我用 LeakCanary 试了一下,并没有复现你所说的这个问题,倒是遇见了 square/leakcanary#696 这个问题。
不知你是怎么确定我这里有内存泄漏的?
from bigimageviewer.
的确 我Redmi Note 3也遇到了
from bigimageviewer.
抱歉各位,我近期没什么精力排查这边的问题,希望有朋友能帮忙排查解决,提交 pr :)
from bigimageviewer.
的确有问题,内存泄漏
java.lang.OutOfMemoryError: Failed to allocate a 3126652 byte allocation with 905352 free bytes and 884KB until OOM
at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
at android.graphics.BitmapFactory.decodeStreamInternal(BitmapFactory.java:639)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:615)
at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:391)
at com.davemorrissey.labs.subscaleview.decoder.SkiaImageDecoder.decode(SkiaImageDecoder.java:61)
at com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView$BitmapLoadTask.doInBackground(SubsamplingScaleImageView.java:1688)
at com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView$BitmapLoadTask.doInBackground(SubsamplingScaleImageView.java:1662)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
from bigimageviewer.
以上问题是通过glide初始化导致,换成fresco初始化就好了
from bigimageviewer.
10-11 17:07:15.004 7406-7406/com.binbin.university E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.binbin.university, PID: 7406
java.lang.OutOfMemoryError: Failed to allocate a 4665612 byte allocation with 3646864 free bytes and 3MB until OOM
at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
at android.graphics.Bitmap.nativeCreate(Native Method)
at android.graphics.Bitmap.createBitmap(Bitmap.java:831)
at android.graphics.Bitmap.createBitmap(Bitmap.java:808)
at android.graphics.Bitmap.createBitmap(Bitmap.java:775)
at android.graphics.drawable.VectorDrawable$VectorDrawableState.createCachedBitmapIfNeeded(VectorDrawable.java:834)
at android.graphics.drawable.VectorDrawable.draw(VectorDrawable.java:318)
at android.widget.ImageView.onDraw(ImageView.java:1246)
at com.previewlibrary.wight.SmoothImageView.onDraw(SmoothImageView.java:155)
at android.view.View.draw(View.java:16195)
at android.view.View.updateDisplayListIfDirty(View.java:15192)
at android.view.View.draw(View.java:15965)
at android.view.ViewGroup.drawChild(ViewGroup.java:3610)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
at android.view.View.draw(View.java:16198)
at android.view.View.updateDisplayListIfDirty(View.java:15192)
at android.view.View.draw(View.java:15965)
at android.view.ViewGroup.drawChild(ViewGroup.java:3610)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
at android.view.View.draw(View.java:16198)
at android.support.v4.view.ViewPager.draw(ViewPager.java:2443)
at android.view.View.updateDisplayListIfDirty(View.java:15192)
at android.view.View.draw(View.java:15965)
at android.view.ViewGroup.drawChild(ViewGroup.java:3610)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
at android.view.View.updateDisplayListIfDirty(View.java:15187)
at android.view.View.draw(View.java:15965)
at android.view.ViewGroup.drawChild(ViewGroup.java:3610)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
at android.view.View.updateDisplayListIfDirty(View.java:15187)
at android.view.View.draw(View.java:15965)
at android.view.ViewGroup.drawChild(ViewGroup.java:3610)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
at android.view.View.updateDisplayListIfDirty(View.java:15187)
at android.view.View.draw(View.java:15965)
at android.view.ViewGroup.drawChild(ViewGroup.java:3610)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
at android.view.View.draw(View.java:16198)
at com.android.internal.policy.PhoneWindow$DecorView.draw(PhoneWindow.java:2690)
at android.view.View.updateDisplayListIfDirty(View.java:15192)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:281)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:287)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:322)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:2620)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2439)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2072)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1112)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6035)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
at android.view.Choreographer.doCallbacks(Choreographer.java:670)
at android.view.Choreographer.doFrame(Choreographer.java:606)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5453)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
from bigimageviewer.
多图浏览,达到一定数量时,出现OOM,不知该问题该怎么解决?
from bigimageviewer.
多图浏览是怎么实现的?可以分析一下为什么有内存没有释放,进而思考如何解决。
from bigimageviewer.
Please try v1.4.5
:)
from bigimageviewer.
Related Issues (20)
- saveImageIntoGallery not working on Android 11 HOT 3
- Set Small image Zoomable HOT 2
- Some important zoom feature didn't find yet HOT 1
- Error inflating class com.github.piasy.biv.view.BigImageView HOT 1
- Choose MIME type for saving image? HOT 5
- Can not load Bitmap HOT 1
- 小图可以设置充满屏幕宽度吗。现在是自适应大小,所以显着很小 HOT 3
- How to quit zoom mode? HOT 1
- Failed to resolve: com.github.piasy:GlideImageLoader HOT 1
- 关于使用代理加载图片的问题 HOT 1
- 使用体验
- 请问可以获取BigImageView的bitmap吗? HOT 1
- 请问支持图片的旋转吗 HOT 1
- Scaling GIF images HOT 1
- 加水印 HOT 1
- Clear (previously) loaded image from BigImageView in RecyclerView's view holder HOT 1
- 求支持avif格式图片 HOT 2
- 共享元素动画 HOT 1
- How can I get the zoom in and zoom out ratio that occurs HOT 1
- zoom in and zoom out all images together in the recyclerview
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bigimageviewer.