解决方案 »

  1.   

    1.调用finish会让activity执行销毁操作,执行activity的生命周期
    而ondestory是activity生命周期的最后一步,你可以重写它的方法,让其执行里面的方法。
    这个是系统执行的,就像oncreate一样,你是没法直接调用的2.getView()函数执行次数竟然远大于实际listview中item子项数,貌似是在listview一页装不下的情况。
    因为默认是,如果listview翻页了,例如往下翻页,那么上面的item会消失,同时get一个新的item并添加在下面
    所以会不断执行……次数会很多很多还有如果listview的高度例如是wrap_content,那么它要根据内容不断的计算自己所该拥有的大小。导致listview经常重绘,多次调用getview3.
    3.1退到后台,如果系统确实销毁了activity,就会执行oncreate。
    3.2之前activity的数据如果你没保存就消失了
    3.3intent的也消失了,因为重新创建了。
    3.4只要不是你执行的销毁就有用,储存内容有限
      

  2.   

    getview好像只会多执行一次,什么情况下会多执行N次,求人讲解,,,
      

  3.   


    2里面说的翻页造成重复getview的是没有使用viewholder造成的……
    所以一般把view缓存,一种基础优化
      

  4.   

    1.调用finish会让activity执行销毁操作,执行activity的生命周期
    而ondestory是activity生命周期的最后一步,你可以重写它的方法,让其执行里面的方法。
    这个是系统执行的,就像oncreate一样,你是没法直接调用的2.getView()函数执行次数竟然远大于实际listview中item子项数,貌似是在listview一页装不下的情况。
    因为默认是,如果listview翻页了,例如往下翻页,那么上面的item会消失,同时get一个新的item并添加在下面
    所以会不断执行……次数会很多很多还有如果listview的高度例如是wrap_content,那么它要根据内容不断的计算自己所该拥有的大小。导致listview经常重绘,多次调用getview3.
    3.1退到后台,如果系统确实销毁了activity,就会执行oncreate。
    3.2之前activity的数据如果你没保存就消失了
    3.3intent的也消失了,因为重新创建了。
    3.4只要不是你执行的销毁就有用,储存内容有限