• java/android 做题中整理的碎片小贴士(3)


    1、IntentService 继承自Service, 所以它们的生命周期是一样的,都没有onStop(), 有onCreate(), onStart(), onDestroy()。但是IntentService在onCreate()会新开一个线程去执行耗时操作。

    2、AlertDialog创建需要用内部类builder, 但是processDialog就不用。两者的对象都可以在设置参数后用show()显示出来。

    3、BroadcaseReceiver的onReceive()方法在ui线程执行(也导致当前界面为前台),而IntentService的onHandleIntent()不是在ui线程执行。

    4、onResume()之后用户才开始可以进行交互,而非onStart();

    5、Parcelable就是把对象分解成很多属性保存起来,它不能很好地保证数据的“持续性”,但是它会性能高一些,适合内存存储用。Serializable在序列化的时候会产生大量临时变量,导致频繁GC,因而效率低,适合磁盘存储。

    6、android给message提供消息池,asyncTask也可以看做有线程池。但是Thread没有提供线程池,除非自己有ThreadPool。Looper不算资源池。

    7、Frame(画面转换动画,一帧一帧的)包括translate和rotate

    Tween(渐变动画,是补间动画,设置初始值和结束值,自动补充中间),包括alpha、scale

    8、(android系统角度看)进程重要性依次是前台进程、可见进程、服务进程、后台进程、空进程。销毁从后往前。其中可见进程是虽然可见但没有交互的。

    9、前台进程的条件:①正在交互②正在交互的活动持有service③有前台service④有正在生命周期回调的方法⑤有正在执行onReceive()的广播接收器。

    10、产生ANR的条件:Activity无响应5秒、Broadcast无响应10秒、Service无响应20秒。

    11、AIDL的接口名要和文件名相同。

    12、theme被final修饰,不能被继承。(修饰activity的)

    13、inten可以传递的实现了Serializable的、实现了Parcelable的、charSequence、基本类型、String(实现了Serializable)。

    14、保存状态的是onSaveInstanceState()。

    15、BorderLayout是java中的。android还有一个没用过的TableLayout。

    16、startActivityForResult()与启动模式没啥关系,即使是SingleInstance模式在另一个栈中启动,仍然可以返回。

  • 相关阅读:
    Guava Cache,Java本地内存缓存使用实践
    Guava-retry,java重试组件
    [leetcode] 31. 下一个排列
    [leetcode] 30. 与所有单词相关联的字串(cn第653位做出此题的人~)
    [leetcode] 29. 两数相除
    [leetcode] 28. 实现strStr()
    [leetcode] 27. 移除元素
    [leetcode] 26. 删除排序数组中的重复项
    [leetcode] 25. k个一组翻转链表
    [leetcode] 24. 两两交换链表中的节点
  • 原文地址:https://www.cnblogs.com/jason31/p/9549779.html
Copyright © 2020-2023  润新知