android - 三星 Galaxy Note 上奇怪的内存问题

标签 android

我的应用程序在 Samsung Galaxy Note 上崩溃,显然是由于内存问题。奇怪的是,我的应用程序在崩溃时似乎没有使用特别多的内存。但是,根据日志,操作系统似乎认为内存不足并开始终止所有 Activity 进程(包括我的应用程序)。我在我尝试过的任何其他设备上都没有看到这种行为(测试设备包括:Acer Iconiatab、Samsung Galaxy Tab、Droid3 手机、Nook color、LG Optimus V)。

我怀疑这与设备上包含的 android 构建有关,也许它在处理低内存情况时做了一些时髦和错误的事情。关于什么可能导致这种行为的任何想法,或关于我如何纠正它的建议?

死前的垃圾收集日志显示适度的内存使用(我知道这些来 self 的基于 PID 的应用程序):

11-22 13:58:45.200: DEBUG/dalvikvm(31965): GC_CONCURRENT freed 1649K, 56% free 5042K/11335K, external 4791K/5982K, paused 1ms+5ms
11-22 13:58:45.770: DEBUG/dalvikvm(31965): GC_CONCURRENT freed 2081K, 56% free 5009K/11335K, external 4791K/5982K, paused 2ms+4ms
11-22 13:58:46.705: DEBUG/dalvikvm(31965): GC_CONCURRENT freed 1951K, 56% free 5044K/11335K, external 4791K/5982K, paused 2ms+4ms
11-22 13:58:47.690: DEBUG/dalvikvm(31965): GC_CONCURRENT freed 2250K, 58% free 4842K/11335K, external 4791K/5982K, paused 2ms+4ms

这是记录来自操作系统的消息开始杀死一切:

11-22 13:58:45.175: INFO/ActivityManager(2764): Process com.sec.android.app.fm (pid 31915) has died.
11-22 13:58:45.225: INFO/ActivityManager(2764): Process com.sec.android.app.samsungapps.una2 (pid 32069) has died.
11-22 13:58:45.340: INFO/ActivityManager(2764): Process com.android.MtpApplication (pid 32078) has died.
11-22 13:58:45.340: INFO/ActivityManager(2764): Low Memory: No more background processes.
11-22 13:58:45.745: INFO/InputReader(2764): dispatchTouch::touch event's action is 1, pending(waiting finished signal)=1
11-22 13:58:45.890: INFO/InputDispatcher(2764): Delivering touch to current input target: action: 1, channel '40916e70 MYAPP (server)'
11-22 13:58:45.890: INFO/InputDispatcher(2764): Delivering touch to current input target: action: 1, channel 'PenGestureView (server)'
11-22 13:58:46.365: INFO/ActivityManager(2764): Process com.sec.android.app.twlauncher (pid 31611) has died.
11-22 13:58:46.365: ERROR/InputDispatcher(2764): channel '409d9788 com.sec.android.app.twlauncher/com.sec.android.app.twlauncher.Launcher (server)' ~ Consumer closed input channel or an error occurred.  events=0x8
11-22 13:58:46.365: ERROR/InputDispatcher(2764): channel '409d9788 com.sec.android.app.twlauncher/com.sec.android.app.twlauncher.Launcher (server)' ~ Channel is unrecoverably broken and will be disposed!
11-22 13:58:46.365: INFO/ActivityManager(2764): Low Memory: No more background processes.
11-22 13:58:46.370: INFO/WindowManager(2764): WIN DEATH: Window{409d9788 com.sec.android.app.twlauncher/com.sec.android.app.twlauncher.Launcher paused=false}
11-22 13:58:46.375: DEBUG/InputTransport(2764): Input channel destroyed: name='409d9788 com.sec.android.app.twlauncher/com.sec.android.app.twlauncher.Launcher (server)', ashmemFd=17, receivePipeFd=158, sendPipeFd=157
11-22 13:58:46.375: INFO/WindowManager(2764): WIN DEATH: Window{40a398d0 SurfaceView paused=false}
11-22 13:58:47.010: INFO/ActivityManager(2764): Process com.android.providers.calendar (pid 31765) has died.
11-22 13:58:47.010: INFO/ActivityManager(2764): Low Memory: No more background processes.
11-22 13:58:47.115: INFO/ActivityManager(2764): Process com.google.android.apps.maps:NetworkLocationService (pid 31578) has died.
11-22 13:58:47.120: WARN/ActivityManager(2764): Scheduling restart of crashed service com.google.android.apps.maps/com.google.android.location.internal.server.NetworkLocationService in 5000ms
11-22 13:58:47.120: INFO/ActivityManager(2764): Low Memory: No more background processes.
11-22 13:58:47.180: INFO/ActivityManager(2764): Process com.sec.android.app.FileTransferServer (pid 31606) has died.
11-22 13:58:47.180: WARN/ActivityManager(2764): Scheduling restart of crashed service com.sec.android.app.FileTransferServer/.FTSService in 14940ms
11-22 13:58:47.180: INFO/ActivityManager(2764): Low Memory: No more background processes.
11-22 13:58:47.180: ERROR/WifiService(2764): Multicaster binderDied
11-22 13:58:47.250: WARN/PowerManagerService(2764): Timer 0x7->0x3|0x0
11-22 13:58:47.250: ERROR/lights(2764): write_int: path /sys/devices/virtual/misc/melfas_touchkey/brightness, value 2
11-22 13:58:47.250: INFO/PowerManagerService(2764): Ulight 7->3|0
11-22 13:58:47.250: DEBUG/PowerManagerService(2764): setLightBrightness : mButtonLight : 0
11-22 13:58:47.280: INFO/ActivityManager(2764): Process com.sec.android.widgetapp.digitalclock (pid 31676) has died.
11-22 13:58:47.280: WARN/ActivityManager(2764): Scheduling restart of crashed service com.sec.android.widgetapp.digitalclock/.DigitalClockService in 24846ms
11-22 13:58:47.280: INFO/ActivityManager(2764): Low Memory: No more background processes.
11-22 13:58:47.370: INFO/ActivityManager(2764): Process com.sec.android.widgetapp.emailwidget (pid 31698) has died.
11-22 13:58:47.370: WARN/ActivityManager(2764): Scheduling restart of crashed service com.sec.android.widgetapp.emailwidget/.EmailUpdateService in 34750ms
11-22 13:58:47.370: INFO/ActivityManager(2764): Low Memory: No more background processes.
11-22 13:58:47.455: INFO/ActivityManager(2764): Process com.sec.android.app.FileTransferManager (pid 31742) has died.
11-22 13:58:47.455: WARN/ActivityManager(2764): Scheduling restart of crashed service com.sec.android.app.FileTransferManager/.FTSRunningChecker in 44671ms
11-22 13:58:47.455: INFO/ActivityManager(2764): Low Memory: No more background processes.
11-22 13:58:47.490: INFO/InputReader(2764): dispatchTouch::touch event's action is 0, pending(waiting finished signal)=0
11-22 13:58:47.490: INFO/InputDispatcher(2764): Delivering touch to current input target: action: 0, channel '40916e70 MYAPP(server)'
11-22 13:58:47.490: INFO/InputDispatcher(2764): Delivering touch to current input target: action: 0, channel 'PenGestureView (server)'
11-22 13:58:47.490: ERROR/lights(2764): write_int: path /sys/devices/virtual/misc/melfas_touchkey/brightness, value 1
11-22 13:58:47.490: INFO/PowerManagerService(2764): Ulight 3->7|0
11-22 13:58:47.490: DEBUG/PowerManagerService(2764): setLightBrightness : mButtonLight : 32
11-22 13:58:47.775: WARN/WifiStateTracker(2764): ------ msg.what =8
11-22 13:58:47.860: INFO/InputReader(2764): dispatchTouch::touch event's action is 1, pending(waiting finished signal)=1
11-22 13:58:48.370: INFO/ActivityManager(2764): Process com.samsung.sec.android.inputmethod.axt9 (pid 31652) has died.
11-22 13:58:48.435: WARN/ActivityManager(2764): Scheduling restart of crashed service com.samsung.sec.android.inputmethod.axt9/.AxT9IME in 53698ms
11-22 13:58:48.445: INFO/ActivityManager(2764): Low Memory: No more background processes.
11-22 13:58:49.510: WARN/PowerManagerService(2764): Timer 0x7->0x3|0x0
11-22 13:58:49.890: INFO/PowerManagerService(2764): Ulight 7->3|0
11-22 13:58:50.135: DEBUG/PowerManagerService(2764): setLightBrightness : mButtonLight : 0
11-22 13:58:50.160: ERROR/lights(2764): write_int: path /sys/devices/virtual/misc/melfas_touchkey/brightness, value 2
11-22 13:58:50.240: DEBUG/LocationProviderProxy(2764): LocationProviderProxy.onServiceDisconnected ComponentInfo{com.google.android.location/com.google.android.location.NetworkLocationService}
11-22 13:58:50.240: DEBUG/GeocoderProxy(2764): onServiceDisconnected ComponentInfo{com.google.android.location/com.google.android.location.NetworkLocationService}
11-22 13:58:50.595: INFO/ActivityManager(2764): Process com.google.process.gapps (pid 31621) has died.
11-22 13:58:50.785: WARN/ActivityManager(2764): Scheduling restart of crashed service com.google.android.gsf/.loginservice.GoogleLoginService in 61462ms
11-22 13:58:50.790: WARN/ActivityManager(2764): Scheduling restart of crashed service com.google.android.location/.NetworkLocationService in 71437ms
11-22 13:58:50.825: INFO/ActivityManager(2764): Low Memory: No more background processes.
11-22 13:58:50.965: WARN/WifiStateTracker(2764): ------ msg.what =8
11-22 13:58:51.085: INFO/InputReader(2764): dispatchTouch::touch event's action is 0, pending(waiting finished signal)=1
11-22 13:58:51.100: DEBUG/InputDispatcher(2764): findTouchedWindow finished: injectionResult=-1, injectionPermission=1, timeSpentWaitingForApplication=3226.7ms
11-22 13:58:51.450: INFO/InputReader(2764): dispatchTouch::touch event's action is 1, pending(waiting finished signal)=1
11-22 13:58:51.700: DEBUG/CLIPBOARD(31965): Hide Clipboard dialog at Starting input: finished by someone else... !
11-22 13:58:51.705: INFO/InputDispatcher(2764): Delivering touch to current input target: action: 1, channel 'PenGestureView (server)'
11-22 13:58:51.925: INFO/PowerManagerService(2764): Ulight 3->7|0
11-22 13:58:51.925: DEBUG/PowerManagerService(2764): setLightBrightness : mButtonLight : 32
11-22 13:58:51.980: ERROR/lights(2764): write_int: path /sys/devices/virtual/misc/melfas_touchkey/brightness, value 1
11-22 13:58:52.130: INFO/InputReader(2764): dispatchTouch::touch event's action is 0, pending(waiting finished signal)=1
11-22 13:58:52.565: INFO/InputReader(2764): dispatchTouch::touch event's action is 1, pending(waiting finished signal)=1
11-22 13:58:52.700: INFO/InputDispatcher(2764): Delivering touch to current input target: action: 0, channel 'PenGestureView (server)'
11-22 13:58:52.765: WARN/PowerManagerService(2764): Timer 0x7->0x3|0x0
11-22 13:58:52.775: INFO/PowerManagerService(2764): Ulight 7->3|0
11-22 13:58:52.775: DEBUG/PowerManagerService(2764): setLightBrightness : mButtonLight : 0
11-22 13:58:52.800: ERROR/lights(2764): write_int: path /sys/devices/virtual/misc/melfas_touchkey/brightness, value 2
11-22 13:58:52.880: INFO/InputReader(2764): dispatchTouch::touch event's action is 0, pending(waiting finished signal)=2
11-22 13:58:53.345: INFO/ActivityManager(2764): Start proc com.google.android.apps.maps:NetworkLocationService for service com.google.android.apps.maps/com.google.android.location.internal.server.NetworkLocationService: pid=32167 uid=10073 gids={3003, 1015}
11-22 13:58:53.360: INFO/InputReader(2764): dispatchTouch::touch event's action is 1, pending(waiting finished signal)=1
11-22 13:58:53.635: VERBOSE/ThermistorObserver(2764):  mThermistorState =0, Thermistor temperature: 440
11-22 13:58:53.870: INFO/InputReader(2764): dispatchTouch::touch event's action is 0, pending(waiting finished signal)=1
11-22 13:58:54.100: INFO/InputReader(2764): dispatchTouch::touch event's action is 1, pending(waiting finished signal)=2
11-22 13:58:54.270: WARN/WifiStateTracker(2764): ------ msg.what =8
11-22 13:58:54.450: WARN/PowerManagerService(2764): Timer 0x3->0x3|0x0
11-22 13:58:54.455: INFO/InputReader(2764): dispatchTouch::touch event's action is 0, pending(waiting finished signal)=1
11-22 13:58:54.790: INFO/InputReader(2764): dispatchTouch::touch event's action is 1, pending(waiting finished signal)=1
11-22 13:58:55.035: INFO/InputReader(2764): dispatchTouch::touch event's action is 0, pending(waiting finished signal)=1
11-22 13:58:55.160: INFO/InputReader(2764): dispatchTouch::touch event's action is 1, pending(waiting finished signal)=1
11-22 13:58:56.655: INFO/InputDispatcher(2764): Delivering touch to current input target: action: 1, channel 'PenGestureView (server)'
11-22 13:58:57.095: INFO/PowerManagerService(2764): Ulight 3->7|0
11-22 13:58:57.100: DEBUG/PowerManagerService(2764): setLightBrightness : mButtonLight : 32
11-22 13:58:57.105: ERROR/lights(2764): write_int: path /sys/devices/virtual/misc/melfas_touchkey/brightness, value 1
11-22 13:58:57.290: WARN/PowerManagerService(2764): Timer 0x7->0x3|0x0
11-22 13:58:57.290: INFO/PowerManagerService(2764): Ulight 7->3|0
11-22 13:58:57.290: DEBUG/PowerManagerService(2764): setLightBrightness : mButtonLight : 0
11-22 13:58:57.555: ERROR/lights(2764): write_int: path /sys/devices/virtual/misc/melfas_touchkey/brightness, value 2
11-22 13:58:59.685: WARN/WifiStateTracker(2764): ------ msg.what =8
11-22 13:58:59.730: INFO/ActivityManager(2764): Process MYAPP (pid 31965) has died.
11-22 13:58:59.775: INFO/WindowManager(2764): WIN DEATH: Window{40916e70 MYAPP paused=false}
11-22 13:58:59.785: ERROR/InputDispatcher(2764): channel '40916e70 MYAPP (server)' ~ Consumer closed input channel or an error occurred.  events=0x8
11-22 13:58:59.785: ERROR/InputDispatcher(2764): channel '40916e70 MYAPP (server)' ~ Channel is unrecoverably broken and will be disposed!
11-22 13:58:59.800: INFO/SurfaceFlinger(2764): id=601 Removed MYAPP idx=1 Map Size=4
11-22 13:58:59.805: INFO/InputDispatcher(2764): Dropping event because there is no touched window or focused application.
11-22 13:58:59.805: DEBUG/InputDispatcher(2764): findTouchedWindow finished: injectionResult=2, injectionPermission=1, timeSpentWaitingForApplication=3153.9ms
11-22 13:58:59.805: DEBUG/SurfaceFlinger(2764): remove count:1 destroying MYAPP
11-22 13:58:59.845: INFO/InputDispatcher(2764): Dropping event because there is no touched window or focused application.
11-22 13:58:59.845: INFO/PowerManagerService(2764): Ulight 3->7|0
11-22 13:58:59.845: DEBUG/PowerManagerService(2764): setLightBrightness : mButtonLight : 32
11-22 13:58:59.850: ERROR/lights(2764): write_int: path /sys/devices/virtual/misc/melfas_touchkey/brightness, value 1
11-22 13:58:59.850: INFO/InputDispatcher(2764): Dropping event because there is no touched window or focused application.
11-22 13:58:59.855: ERROR/lights(2764): write_int: path /sys/devices/virtual/misc/melfas_touchkey/brightness, value 2
11-22 13:58:59.855: INFO/InputDispatcher(2764): Dropping event because there is no touched window or focused application.
11-22 13:58:59.855: ERROR/lights(2764): write_int: path /sys/devices/virtual/misc/melfas_touchkey/brightness, value 1
11-22 13:58:59.855: INFO/InputDispatcher(2764): Dropping event because there is no touched window or focused application.
11-22 13:58:59.855: ERROR/lights(2764): write_int: path /sys/devices/virtual/misc/melfas_touchkey/brightness, value 2
11-22 13:58:59.855: WARN/PowerManagerService(2764): Timer 0x7->0x3|0x0
11-22 13:58:59.855: INFO/PowerManagerService(2764): Ulight 7->3|0
11-22 13:58:59.855: DEBUG/PowerManagerService(2764): setLightBrightness : mButtonLight : 0
11-22 13:58:59.855: WARN/PowerManagerService(2764): Timer 0x3->0x3|0x0
11-22 13:58:59.855: INFO/PowerManagerService(2764): Ulight 3->7|0
11-22 13:58:59.855: DEBUG/PowerManagerService(2764): setLightBrightness : mButtonLight : 32
11-22 13:58:59.855: WARN/PowerManagerService(2764): Timer 0x7->0x3|0x0
11-22 13:58:59.855: INFO/PowerManagerService(2764): Ulight 7->3|0
11-22 13:58:59.855: DEBUG/PowerManagerService(2764): setLightBrightness : mButtonLight : 0
11-22 13:58:59.865: INFO/ActivityManager(2764): Start proc com.sec.android.app.twlauncher for activity com.sec.android.app.twlauncher/.Launcher: pid=32174 uid=10015 gids={3003, 1015, 3002}
11-22 13:58:59.865: INFO/ActivityManager(2764): Low Memory: No more background processes.
11-22 13:58:59.885: INFO/Zygote(32174): Zygote: pid 32174 has CALL PRIVILEGED permission, then set capability for CAP_SYS_ADMIN (21)
11-22 13:58:59.900: INFO/OrientationDebug(2764): [pwm] in updateOrientationListenerLp()
11-22 13:58:59.900: VERBOSE/OrientationDebug(2764): in updateOrientationListenerLp(), Screen status=true, current orientation=1, SensorEnabled=true
11-22 13:58:59.900: INFO/OrientationDebug(2764): [pwm] needSensorRunningLp(), return true #4
11-22 13:58:59.900: ERROR/WindowManager(2764): rotation is : 0
11-22 13:58:59.995: ERROR/AlarmManagerService(2764): android_server_AlarmManagerService_set to type=1, 1322049600.000000000
11-22 13:58:59.995: VERBOSE/AlarmManager(2764): sending alarm Alarm{4087e470 type 1 android}
11-22 13:59:00.000: ERROR/AlarmManagerService(2764): android_server_AlarmManagerService_set to type=1, 1321970400.000000000
11-22 13:59:00.000: VERBOSE/AlarmManager(2764): Adding alarm Alarm{40514880 type 1 android} at 0
11-22 13:59:00.030: INFO/ActivityThread(32174): Pub com.sec.android.app.twlauncher.settings: com.sec.android.app.twlauncher.LauncherProvider
11-22 13:59:00.150: INFO/lcdtest(32174): MODEL : GT-N7000
11-22 13:59:00.150: INFO/lcdtest(32174): Default setting
11-22 13:59:00.150: INFO/lcdtest(32174): Unknown MODEL : GT-N7000
11-22 13:59:00.225: INFO/Launcher(32174): Launcher created: 405373c8
11-22 13:59:00.235: INFO/Launcher(32174): onCreate. Launcher: 405373c8, mDestroyed: false
11-22 13:59:00.245: INFO/Launcher(32174): onCreate():  product model family:Q1 product model : xx-xxxx
11-22 13:59:00.345: INFO/ActivityManager(2764): Start proc com.google.process.gapps for content provider com.google.android.gsf/.settings.GoogleSettingsProvider: pid=32182 uid=10061 gids={3003, 1015, 2001, 1007}
11-22 13:59:00.385: DEBUG/Launcher(32174): It's image wallpaper. suggestDesiredDimensions(-1,-1)
11-22 13:59:00.465: INFO/ActivityThread(32182): Pub com.google.settings: com.google.android.gsf.settings.GoogleSettingsProvider
11-22 13:59:00.505: INFO/ActivityThread(32182): Pub subscribedfeeds: com.google.android.gsf.subscribedfeeds.SubscribedFeedsProvider
11-22 13:59:00.595: INFO/ActivityThread(32182): Pub com.google.android.gsf.gservices: com.google.android.gsf.gservices.GservicesProvider
11-22 13:59:00.600: INFO/GservicesProvider(32182): Gservices pushing to system: true; secure: true
11-22 13:59:00.600: INFO/ActivityThread(32182): Pub com.google.android.providers.talk: com.google.android.gsf.talk.TalkProvider
11-22 13:59:00.665: DEBUG/NlpVersionInfo(32167): com.google.android.location not found
11-22 13:59:00.685: DEBUG/SyncManager(2764): setSyncAutomatically: , provider subscribedfeeds -> true
11-22 13:59:00.685: DEBUG/SyncManager(2764): setSyncAutomatically: already set to true, doing nothing
11-22 13:59:01.280: DEBUG/GLSurfaceViewGroup(32174): setting 8888 buffer for live wallpaper
11-22 13:59:01.290: ERROR/(32174): About to try to load SceneGraph
11-22 13:59:01.290: ERROR/(32174): SceneGraph_nativeClassInit
11-22 13:59:01.295: INFO/GLThread(32174): starting tid=10
11-22 13:59:01.295: INFO/GLThread(32174): noticed surfaceView surface lost tid=10
11-22 13:59:01.305: INFO/DebugFolder(32174): Setting folder model to com.sec.android.app.twlauncher.UserFolderModel@4053fb70 in mode 0
11-22 13:59:01.305: INFO/DebugFolder(32174): Set Folder Model Dumping Added
11-22 13:59:01.305: INFO/DebugFolder(32174): Set Folder Model Dumping Deleted
11-22 13:59:01.305: INFO/DebugFolder(32174): Set Folder Model Dumping Current
11-22 13:59:01.305: INFO/DebugFolder(32174): Set Folder Model Dumping Special
11-22 13:59:01.315: DEBUG/Launcher(32174): startLoaders. Launcher: 405373c8
11-22 13:59:01.330: INFO/Database(32174): sqlite returned: error code = 0, msg = Recovered 6 frames from WAL file /data/data/com.sec.android.app.twlauncher/databases/launcher.db-wal
11-22 13:59:01.340: DEBUG/Launcher.LauncherModel(32174): dropTopApplicationCache
11-22 13:59:01.400: INFO/ActivityManager(2764): Start proc com.sec.android.provider.badge for content provider com.sec.android.provider.badge/.BadgeProvider: pid=32193 uid=10105 gids={}

最佳答案

进入设置下的开发者选项。您可能已检查过以下内容:

不保留 Activity

限制后台进程设置得很低。

我曾经在 Note 1(我有一个 Note 2)上进行测试,其中一个设置确实让我困惑了很长时间。最好让您的代码在启用它们的情况下运行,因为这是最坏的情况,但不会在野外真正发生。

关于android - 三星 Galaxy Note 上奇怪的内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8232375/

相关文章:

android - 控制安卓或任何其他音乐播放器的默认音乐播放器

android - 在android中动态创建 Activity

android - 使用 AngularFire2 和 Firebase 3 时出现 Ionic 2 应用程序 CORS 错误

java - 使用 Spring api 将数据发送到服务器

android - 选择 Release模式时应用程序崩溃但在 Debug模式下运行完美

android - 适用于 Android 的自定义 SeekBar,出现错误 - inflateexception 二进制 xml 错误膨胀类等

android - TextView 阴影未显示在预览中 - 尽管在真实设备上工作

android - 在 Android 模拟器上从 SD 卡读取数据库

android - 录像中的 "time lapse mode"是什么?

android - 我可以使用 Apache Cordova(本地构建)签署 Android 应用吗