当前位置: 代码迷 >> Android >> 一个不好解的内存有关问题
  详细解决方案

一个不好解的内存有关问题

热度:45   发布时间:2016-05-01 21:03:35.0
一个不好解的内存问题
最近遇到一个应用方面的内存问题,没一点解决的思路,希望大家可以讨论一下。
问题描述如下:
在写一个系统设置,其中包括了声音设置,时间设置等,首先用户点系统设置,进入我们的系统设置主界面,然后用户可以在不同的设置之间,进行切换,代码简述如下。
Java code
public class TimeMainActivity extends Activity                             implements OnClickListener{    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        //窗口全屏显示        requestWindowFeature(Window.FEATURE_NO_TITLE);        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,                WindowManager.LayoutParams.FLAG_FULLSCREEN);                setContentView(R.layout.layout_time);        System.out.println("TimeMainActivity");        InitView();            }    private void InitView() {                    }    public void onClick(View v) {        // TODO Auto-generated method stub        m_event.onClick(v);            }}

Java code
public class VolMainActivity extends Activity implements OnClickListener {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        // 窗口全屏显示        requestWindowFeature(Window.FEATURE_NO_TITLE);        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,                WindowManager.LayoutParams.FLAG_FULLSCREEN);        setContentView(R.layout.layout_vol);        System.out.println("VolMainActivity");        InitView();    }    private void InitView() {            }    public void onClick(View v) {        // TODO Auto-generated method stub        m_event.onClick(v);    }}

以上是两个分界面的代码简述,当在两个分界面之间切换时,输出如下log信息。
01-27 02:30:39.520: I/System.out(1328): SetSubActivity
01-27 02:30:39.560: D/dalvikvm(1328): GC_EXTERNAL_ALLOC freed 114K, 48% free 2869K/5447K, external 11932K/12041K, paused 23ms
01-27 02:30:39.710: D/dalvikvm(1328): GC_EXTERNAL_ALLOC freed 29K, 47% free 2917K/5447K, external 13905K/14648K, paused 24ms
01-27 02:30:39.840: D/dalvikvm(1328): GC_EXTERNAL_ALLOC freed 11K, 46% free 2949K/5447K, external 16819K/16848K, paused 23ms
01-27 02:30:39.870: D/dalvikvm(1328): GC_EXTERNAL_ALLOC freed 0K, 46% free 2949K/5447K, external 16819K/16848K, paused 23ms
01-27 02:30:39.900: I/dalvikvm-heap(1328): Clamp target GC heap from 25.628MB to 24.000MB
01-27 02:30:39.900: D/dalvikvm(1328): GC_FOR_MALLOC freed <1K, 46% free 2949K/5447K, external 18833K/20881K, paused 17ms
01-27 02:30:39.990: I/System.out(1328): VolMainActivity
01-27 02:30:43.440: I/System.out(1328): SetSubActivity
01-27 02:30:43.520: D/dalvikvm(1328): GC_EXTERNAL_ALLOC freed 101K, 46% free 3033K/5575K, external 18688K/19986K, paused 24ms
01-27 02:30:43.520: E/dalvikvm-heap(1328): 768912-byte external allocation too large for this process.
01-27 02:30:43.530: E/GraphicsJNI(1328): VM won't let us allocate 768912 bytes
01-27 02:30:43.550: I/dalvikvm-heap(1328): Clamp target GC heap from 25.568MB to 24.000MB
01-27 02:30:43.550: D/dalvikvm(1328): GC_FOR_MALLOC freed 1K, 46% free 3031K/5575K, external 18688K/19986K, paused 16ms
01-27 02:30:43.560: D/AndroidRuntime(1328): Shutting down VM
01-27 02:30:43.560: W/dalvikvm(1328): threadid=1: thread exiting with uncaught exception (group=0x40015560)
01-27 02:30:43.570: E/AndroidRuntime(1328): FATAL EXCEPTION: main
01-27 02:30:43.570: E/AndroidRuntime(1328): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sound.system/sound.activity.TimeMainActivity}: android.view.InflateException: Binary XML file line #49: Error inflating class <unknown>
01-27 02:30:43.570: E/AndroidRuntime(1328): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
  相关解决方案