zoukankan      html  css  js  c++  java
  • (十三)android基础知识总结

    一、ListView专题

         1.1 对ListView控件的效率优化

               a、重用contentView,在contentView为空的时候,才进行布局的填充,从而大大的减少了加载XML布局文件的内存消耗。

               b、ViewHolder为static,静态类只会在第一次加载时会耗费比较长时间,但是后面就可以很好帮助加载,同时保证了内存中只有一个。

              c、数据分叶加载

              d、动态加载,仅在需要加载的时候加载数据项。监听滚动消息,ListView有个回调(onScroll和onScrollStateChange),检查当滚动状态改变时,即滚动到底部时,我们就加载这N项

    二、说说mvc模式的原理,它在android中的运用

    android的官方建议应用程序的开发采用mvc模式。何谓mvc?

    mvc是model,view,controller的缩写,mvc包含三个部分:

    模型(model)对象:是应用程序的主体部分,所有的业务逻辑都应该写在该层。

     视图(view)对象:是应用程序中负责生成用户界面的部分。也是在整个mvc架构中用户唯一可以看到的一层,接收用户的输入,显示处理结果。

     控制器(control)对象:是根据用户的输入,控制用户界面数据显示及更新model对象状态的部分,控制器更重要的一种导航功能,想用用户出发的相关事件,交给model处理。

    android鼓励弱耦合和组件的重用,在android中mvc的具体体现如下:

      1)视图层(view):一般采用xml文件进行界面的描述,使用的时候可以非常方便的引入,当然,如何你对android了解的比较的多了话,就一定可以想到在android中也可以使用javascript+html等的方式作为view层,当然这里需要进行java和javascript之间的通信,幸运的是,android提供了它们之间非常方便的通信实现。

      2)控制层(controller):android的控制层的重任通常落在了众多的acitvity的肩上,这句话也就暗含了不要在acitivity中写代码,要通过activity交割model业务逻辑层处理,这样做的另外一个原因是android中的acitivity的响应时间是5s,如果耗时的操作放在这里,程序就很容易被回收掉。

      3)模型层(model):对数据库的操作、对网络等的操作都应该在model里面处理,当然对业务计算等操作也是必须放在的该层的。

  • 相关阅读:
    maven更改编译环境的java版本
    ConcurrentHashMap和HashMap的一点区别
    TCP/IP协议中网关和子网掩码概念
    同步和异步关注的是消息通信机制,阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态
    maven中央仓库访问速度太慢的解决办法
    BIOS设置和CMOS设置的区别与联系
    PL/SQL 如何查看当前连接信息以及SQL PLUS如何指定IP地址
    【转载】C#常用数据库Sqlserver中DATEPART() 函数
    【转载】 Sqlserver中DateAdd()函数
    【转载】C#递归删除文件夹目录及文件
  • 原文地址:https://www.cnblogs.com/fuyanan/p/5018894.html
Copyright © 2011-2022 走看看