android-cn / android-discuss

Android 问题交流讨论坛, 微信公众号:codekk, 网站:
https://github.com/android-cn/android-discuss/issues
Apache License 2.0
4.08k stars 535 forks source link

Android 使用Glide加载大图出现ANR #534

Open yuanjize opened 7 years ago

yuanjize commented 7 years ago

用recyclerView写了一个瀑布流,瀑布流显示的是小图,点进去显示的是高清图,堆一直上升,之后就出现ANR了.

堆信息 1 83.658 MB 79.658 MB 4.000 MB 95.22% 107,221

错误信息: ANR in com.yuan.foryou (com.yuan.foryou/.MainActivity), time=32590578 Reason: Input dispatching timed out (Waiting to send non-key event because the touched window has not finished processing certain input events that were delivered to it over 500.0ms ago. Wait queue length: 21. Wait queue head age: 8974.8ms.) Load: 15.63 / 14.99 / 14.95 Android time :[2016-09-16 18:03:12.78] [32592.717] CPU usage from 5642ms to 462ms ago: 78% 1117/com.tencent.qqpimsecure: 70% user + 7.8% kernel / faults: 39267 minor 15% 302/surfaceflinger: 8.8% user + 6.9% kernel 5.7% 981/system_server: 2.3% user + 3.4% kernel / faults: 92 minor 2.5% 22020/adbd: 0.7% user + 1.7% kernel / faults: 351 minor 2.3% 3158/com.android.systemui: 1.5% user + 0.7% kernel / faults: 2 minor 1.7% 5431/com.meizu.flyme.launcher: 1.3% user + 0.3% kernel / faults: 1536 minor 1.1% 3348/com.yuan.foryou: 0.5% user + 0.5% kernel 0.7% 25510/kworker/u16:3: 0% user + 0.7% kernel 0.5% 144/present_fence_w: 0% user + 0.5% kernel 0.5% 331/aal: 0.3% user + 0.1% kernel 0.5% 3835/com.android.phone: 0.5% user + 0% kernel / faults: 52 minor 0.5% 31825/kworker/u16:4: 0% user + 0.5% kernel 0.3% 3554/kworker/u16:5: 0% user + 0.3% kernel 0.3% 11414/com.tencent.androidqqmail: 0.1% user + 0.1% kernel / faults: 10 minor 0% 8/rcu_preempt: 0% user + 0% kernel 0.1% 72/cfinteractive: 0% user + 0.1% kernel 0.1% 108/hps_main: 0% user + 0.1% kernel 0.1% 145/frame_update_wo: 0% user + 0.1% kernel 0% 161/pvr_deviceswd: 0% user + 0% kernel 0% 169/fpc1020_worker: 0% user + 0% kernel 0% 174/mmcqd/0: 0% user + 0% kernel 0% 300/servicemanager: 0% user + 0% kernel 0% 343/thermal: 0% user + 0% kernel / faults: 2 minor 0.1% 1822/logcat: 0% user + 0.1% kernel 0% 4819/mtkrild: 0% user + 0% kernel 0% 11462/com.tencent.androidqqmail:Fix: 0% user + 0% kernel 0% 11572/com.tencent.androidqqmail:Push: 0% user + 0% kernel 0% 14231/com.tencent.mm: 0% user + 0% kernel / faults: 6 minor 0% 14384/com.tencent.mm:push: 0% user + 0% kernel / faults: 1 minor 0.1% 16369/kworker/1:3: 0% user + 0.1% kernel 0.1% 24992/com.tencent.mobileqq:MSF: 0.1% user + 0% kernel / faults: 7 minor 0.1% 25067/com.tencent.mobileqq: 0% user + 0.1% kernel / faults: 8 minor 0.1% 29001/kworker/0:0: 0% user + 0.1% kernel 57% TOTAL: 45% user + 11% kernel + 0% softirq

razerdp commented 7 years ago

超大的图建议用subsampling-scale-image-view

    Glide.with(context).load(pictureUrl).downloadOnly(new SimpleTarget<File>() {
            @Override public void onResourceReady(File resource, GlideAnimation<? super File> glideAnimation) {
                largeImageView.setImage(ImageSource.asset(resource.getAbsolutePath()));
            }
        });