解决方案 »

  1.   

    public void onCreate() {
    // TODO 自动生成的方法存根
    super.onCreate();
                    //new LogUtil().record("全局变量初始化");new LogUtil().record("初始化全局");}
    你需要在 onCreate() 中加上    
       context=this; 
    试试看
      

  2.   

    理由就 onCreate 一个应用生存周期中就调用一次  ,通过这个代码保证这个引用永远有效。
      

  3.   

    抱歉,我在 onCreate中是初始化context了的,上面的贴子中忘写了,初始化如下public void onCreate() {
    // TODO 自动生成的方法存根
         super.onCreate();
         MyApp.context = getApplicationContext();
         new LogUtil().record("初始化全局");}
    在程序首次运行都很正常,就是退出后通过日志观察到在小内存低版本的机器上(256M)发现应用又重新进行MyApp的onCreat,然后就崩溃,在大内存高版本的机器上没出现这个情况
      

  4.   

    我希望在此得到全局的context,以便在程序其他部份的静态方法中引用,因为在静态方法中不能引用非全局的context或.this
      

  5.   

    你将context作为参数传递给静态方法不就得了。
      

  6.   

    我就是没有抓到崩溃的信息,在哪里发生崩溃我都不晓得,只晓得应用关闭以后又自动重新进入MyApp的onCreat,但这里没发生崩溃,我在这里抓过异常,没有抓到,但随后就发崩溃,其他引用此全局context的地方也抓不到异常,另外,在大内存(1G)的机器上应用关闭后不会自动进入重新进入MyApp的onCreat,不会发生崩溃
      

  7.   

    嗯,7楼说得对,一般的静态方法可将context作为参数传入,但是静态的Handler呢,如何传入?如下:public static Handler mHandler= new Handler(){
    public void handleMessage(Message msg){
    switch(msg.what){
    case 0:
    Toast.makeText(MyApp.getAppContext(), "亲爱的,没有找到你的小苹果,重新设定再次寻找", Toast.LENGTH_LONG).show();
                            break;
                            case 1:
                           .....................
                            break;
    }}}
      

  8.   

    去捕获下 应用崩溃信息 然后输出到一个地方。  在Application中可以拦截应用崩溃异常处理。 查下资料。
      

  9.   

    感谢10楼,已捕捉到异常,但现在仍有一事不明,为何在小内存低版本(256,2.3.6)机器上关闭所有ACTIVITY后,后台服务显示“正在重新启动”,并长时间不能自启。但此时,全局Application中onCreat()却在循环运行,一秒钟内要运行几次!!!,通过打印日志发现的!
      

  10.   

    此程序被 循环调用了?或者timmer事件中被引用了?
      

  11.   

    如有Service,Application是会被实例化多次的
      

  12.   

    我保证没有在某个TIMER事件中调用了全局app的onCreat()方法,因为我还不知道如何调用它!肯定是操作系统在捣鬼!经反复观察,我发现是在在小内存的机器上关闭了所有activity之后,系统就以内存管理为由将我的应用杀死,然后又心生悔意,又试图将应用唤起,但是以近乎疯狂的方式来唤起----onCreat()每秒被调用几次!!!,应用的其他部份都被它杀死了,疯狂调用onCreat()有鸟用啊!!!!呜呜呜。我仅是希望关闭页面后应用还在正常运行,如何才能让弱智的小内存安桌不干这蠢事!!!!
      

  13.   

    同一台机器,微信也有service,但人家没被杀掉,难道是用了全局Application的原因,是否不用就不会被杀掉?
      

  14.   

    service配置成remote的时候有这种情况
      

  15.   

    请教17楼:service配置成remote时 ,是指在小内存机器上activity关完进程会被杀掉还是全局Application中onCreat会被不断重启?如果不用全局Application,会产生这种情况吗?
      

  16.   

    android:persistent="true"在Manifest 文件中 的Application 项 配置上这个试试看。
    意义你懂的。
      

  17.   

    提高优先级:android:priority = "1000",就不会被干掉了
      

  18.   

    抱歉,昨天出差了,未及时看各位回复,这个配了的android:persistent="true",好象无效,现在把这个也加上android:priority = "1000",测试中,我会及时报告,多谢各位了
      

  19.   

    select count('number') from(select count(*) from km_lore_doc_sort t0 inner join km_lore_depot_sort t2 on t0.sortid=t2.id where ( (t2.leftnum between :leftnum667 and :leftnum668 )) and t0.scurrent=:scurrent669 GROUP BY t0.editionid) number   [ (leftnum667=>'1') (leftnum668=>'50') (scurrent669=>'Current') ]select count('number') from(select count(*) from km_lore_doc_sort t0 inner join km_lore_depot_sort t2 on t0.sortid=t2.id where ( (t2.leftnum between :leftnum667 and :leftnum668 )) and t0.scurrent=:scurrent669 GROUP BY t0.editionid) number   [ (leftnum667=>'1') (leftnum668=>'50') (scurrent669=>'Current') ]select count('number') from(select count(*) from km_lore_doc_sort t0 inner join km_lore_depot_sort t2 on t0.sortid=t2.id where ( (t2.leftnum between :leftnum667 and :leftnum668 )) and t0.scurrent=:scurrent669 GROUP BY t0.editionid) number   [ (leftnum667=>'1') (leftnum668=>'50') (scurrent669=>'Current') ]select count('number') from(select count(*) from km_lore_doc_sort t0 inner join km_lore_depot_sort t2 on t0.sortid=t2.id where ( (t2.leftnum between :leftnum667 and :leftnum668 )) and t0.scurrent=:scurrent669 GROUP BY t0.editionid) number   [ (leftnum667=>'1') (leftnum668=>'50') (scurrent669=>'Current') ]