ANDROID2011. 3. 17. 17:35
  • Time Scale !!
    • 인간의 인터렉션 스케일은 초당 10~30 interaction이다.
    • 인간의 perception 스케일은 초당 25~30 image frame 이다.
    • audio는 100msec 정도는 되야 연속적인 오디오!

 

  • Garbage collocter !!
    • short-lived한 object도 GC가 필요하다.
    • long-lived한 object는 귀중한 메모리를 붙잡고 있다.

 

  • Loop Wisely !!
    • (1) for (int i = initializer; i >= 0; i--)
      (2) int limit = calculate limit;
           for (int i = 0; i < limit; i++)
      (3) Type[] array = get array;
           for (Type obj : array)
      (4) for (int i = 0; i < array.length; i++)
      (5) for (int i = 0; i < this.var; i++)
      (6) for (int i = 0; i < obj.size(); i++)
      (7) Iterable<Type> list = get list;
           for (Type obj : list)                       <- Danger



  • Memory..Clean VS Dirty..
    • clean vs. dirty
       - clean: mmap()ed and unwritten
       - dirty: malloc()ed
    • shared vs. private
       - shared: used by many processes
       - private: used by only one process
    • clean (shared or private)
       - common dex files (libraries)
       - application-specific dex files
    • shared dirty
       - ???
    • private dirty
       - application “live” dex structures
       - application heap


 

Posted by BLUE-NOTE