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里面处理,当然对业务计算等操作也是必须放在的该层的。

  • 相关阅读:
    HAProxy、Keepalived 在 Ocatvia 的应用实现与分析
    Octavia 的 HTTPS 与自建、签发 CA 证书
    Octavia 创建 loadbalancer 的实现与分析
    OpenStack Rally 质量评估与自动化测试利器
    自建 CA 中心并签发 CA 证书
    Failed building wheel for netifaces
    通过 vSphere WS API 获取 vCenter Datastore Provisioned Space 置备空间
    OpenStack Placement Project
    我们建了一个 Golang 硬核技术交流群(内含视频福利)
    没有图形界面的软件有什么用?
  • 原文地址:https://www.cnblogs.com/fuyanan/p/5018894.html
Copyright © 2011-2022 走看看