New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

刷新重新绑定数据时会ANR #90

Open
Logan676 opened this Issue Mar 10, 2017 · 1 comment

Comments

Projects
None yet
1 participant
@Logan676

Logan676 commented Mar 10, 2017

由于需要支持刷新整个列表,包括头部的焦点图,但是当刷新焦点图的时候在老版本的机型上遇到了问题。
具体问题如下:
在小米2A上,android4.4.4,使用该轮播图组件,
刷新焦点图也就是重复调用mContentBanner.setData(R.layout.banner, list, null);方法时,
会导致banner轮播一段时间无响应,等一会就可以自己恢复轮播了。但是当无响应时如果再有其他触屏操作,则会直接闪退。

没有找到有效的日志,只有一些CPU使用信息

/ActivityManager(  669): Load: 2.72 / 1.9 / 8.52
E/ActivityManager(  669): CPU usage from 6106ms to 971ms ago:
E/ActivityManager(  669):   94% 26338/cn.com.nggirl.nguser.debug: 93% user + 0.3% kernel / faults: 2 minor
E/ActivityManager(  669):   54% 3769/com.tencent.mm: 47% user + 7.6% kernel / faults: 20819 minor 19 major
E/ActivityManager(  669):   3.8% 829/com.android.systemui: 3.3% user + 0.5% kernel / faults: 1 minor
E/ActivityManager(  669):   3.5% 669/system_server: 2.1% user + 1.3% kernel / faults: 31 minor 1 major
E/ActivityManager(  669):   3.5% 3727/com.tencent.mm:push: 2.1% user + 1.3% kernel / faults: 948 minor
E/ActivityManager(  669):   3.3% 176/surfaceflinger: 0.7% user + 2.5% kernel
E/ActivityManager(  669):   1.5% 229/adbd: 0% user + 1.5% kernel / faults: 494 minor
E/ActivityManager(  669):   0.7% 117/irq/299-3-0020: 0% user + 0.7% kernel
E/ActivityManager(  669):   0.3% 124/mmcqd/0: 0% user + 0.3% kernel
E/ActivityManager(  669):   0.3% 197/mpdecision: 0.1% user + 0.1% kernel
E/ActivityManager(  669):   0% 792/thermald: 0% user + 0% kernel / faults: 35 minor 1 major
E/ActivityManager(  669):   0.1% 934/sdcard: 0% user + 0.1% kernel
E/ActivityManager(  669):   0.1% 3689/kworker/1:0: 0% user + 0.1% kernel
E/ActivityManager(  669):   0.1% 13693/kworker/0:1: 0% user + 0.1% kernel
E/ActivityManager(  669):   0% 18386/logcat: 0% user + 0% kernel
E/ActivityManager(  669):   0.1% 29460/kworker/0:4: 0% user + 0.1% kernel
E/ActivityManager(  669):  +0% 3881/kworker/1:3: 0% user + 0% kernel
E/ActivityManager(  669): 87% TOTAL: 76% user + 9% kernel + 1.4% iowait + 0% softirq
E/ActivityManager(  669): CPU usage from 3123ms to 3645ms later:
E/ActivityManager(  669):   94% 26338/cn.com.nggirl.nguser.debug: 94% user + 0% kernel
E/ActivityManager(  669):     94% 26338/rl.nguser.debug: 94% user + 0% kernel
E/ActivityManager(  669):   3.8% 176/surfaceflinger: 1.9% user + 1.9% kernel
E/ActivityManager(  669):     1.9% 176/surfaceflinger: 1.9% user + 0% kernel
E/ActivityManager(  669):     1.9% 389/DispSync: 0% user + 1.9% kernel
E/ActivityManager(  669):     1.9% 583/EventThread: 1.9% user + 0% kernel
E/ActivityManager(  669):   3.8% 669/system_server: 0% user + 3.8% kernel
E/ActivityManager(  669):     1.9% 687/ActivityManager: 0% user + 1.9% kernel
E/ActivityManager(  669):   3.8% 829/com.android.systemui: 1.9% user + 1.9% kernel
E/ActivityManager(  669):     3.8% 829/ndroid.systemui: 1.9% user + 1.9% kernel
E/ActivityManager(  669):   1.4% 229/adbd: 0% user + 1.4% kernel / faults: 54 minor
E/ActivityManager(  669): 57% TOTAL: 52% user + 3.8% kernel + 0.9% iowait
F/libc    (26338): Fatal signal 6 (SIGABRT) at 0x0000029d (code=0), thread 26338 (rl.nguser.debug)
E/ActivityManager(  669): Error reading /data/anr/traces.txt
E/ActivityManager(  669): java.io.FileNotFoundException: /data/anr/traces.txt: open failed: ENOENT (No such file or directory)
E/ActivityManager(  669): 	at libcore.io.IoBridge.open(IoBridge.java:409)
E/ActivityManager(  669): 	at java.io.FileInputStream.<init>(FileInputStream.java:78)
E/ActivityManager(  669): 	at android.os.FileUtils.readTextFile(FileUtils.java:236)
E/ActivityManager(  669): 	at com.android.server.am.ActivityManagerService$19.run(ActivityManagerService.java:10151)
E/ActivityManager(  669): Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory)
E/ActivityManager(  669): 	at libcore.io.Posix.open(Native Method)
E/ActivityManager(  669): 	at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
E/ActivityManager(  669): 	at libcore.io.IoBridge.open(IoBridge.java:393)
E/ActivityManager(  669): 	... 3 more

@Logan676 Logan676 changed the title from 刷新重新绑定数据时回ANR to 刷新重新绑定数据时会ANR Mar 10, 2017

@Logan676

This comment has been minimized.

Show comment
Hide comment
@Logan676

Logan676 Apr 10, 2017

暂时用Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP判断绕开了这个问题,希望会有更好的方法。

Logan676 commented Apr 10, 2017

暂时用Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP判断绕开了这个问题,希望会有更好的方法。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment