美文网首页
Android日常笔记

Android日常笔记

作者: HappyGhh | 来源:发表于2018-03-09 08:38 被阅读0次

    Android项目开发建议:

    1、全部Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框,统一构造器的建立,万一需要整体变动,一处改动个处处有效。

    2、数据库表字段常量和SQL逻辑分离,更清晰,建议使用Lite系列狂降LiteOrm库,超级清晰且重心可以放在业务上不用关心数据库细节

    3、全局变量放全局类中,模块私有放自己的管理类中,让常量清晰且集中

    4、不要相信庞大的管理类的东西会带来什么好处,可能是一场宅男,而要时刻注意单一原则,一个类专心做好一件事

    Android性能优化

    Java垃圾回收机制

    发现无用对象,回收被无用对象占用的内存空间,使得该空间可以被程序再次利用。

    垃圾回收特点:

    1、垃圾回收机制的工作目标时回收无用对象的内存空间,这些内存空间都是JVM堆内存的内存资源,对于其他物力资源,如数据库连接,磁盘I/O等无能为力

    2、为了让垃圾回收机制尽快回收那些对象,可以将该对象的引用变量置为null

    3、垃圾回收发生的不可预知性,不同JVM采用不同的算法和机制,有可能定时回收,也有可能CPU空闲时回收,或者内存消耗极限时发生,即使通过RunTime对象的gc(),System.gc()来建议系统进行回收,但这只属于建议,不能精确控制垃圾回收机制的执行

    ¥ 确保每一个对象都进行了有效的释放,对于不再需要的对象,不要引用它们,一旦在别的地方保持对这个对象的引用,垃圾税收机制暂时不会回收该对象,则会导致严重问题———系统可用内存越来越少,垃圾回收执行的频率越来越高,CPU被垃圾回收操作占有,系统性能自然就下降了 ¥

    简单的内存泄漏:对没有使用的对象循环使用
    复杂的内存泄漏:在ListView还没绘制完成时就添加activity

    Heap Viewer可有效的分析程序在堆中分配的数据类型及数量和大小

    Android两种方式事件处理

    1、基于回调的事件处理
    2、基于监听器的事件处理

    Androdi的事件处理机制是一种委派式(Delegation)事件处理方式
    普通组件(事件源)将整个事件处理委托给特定的对象(事件监听器),当该事件源发生制定的事件时,就通知所委托的事件监听器,由监听器处理这个事件。

    事件监听的处理模型涉及三个成员:事件源、事件和事件监听器

    实现事件监听器:
    1)内部类形式:将事件监听器定义为当前类的内部类
    2)外部类形式:将事件监听器定义为外部类
    3)Activity本身作为事件监听器类:Activity本身实现监听器接口,并实现事件处理方法
    4)匿名内部类:使用匿名内部创建事件监听器对象

    ** Activity的主要职责时完成界面初始化工作

    1)监听器类时外部类的内部类,所以可以自由方位外部类的所有界面组件
    2)使用外部类定义事件监听器类较少,主要原因:
    && 事件监听器通常属于特定GUI界面,定义成外部类不利于提高程序的内聚性
    && 外部类形式的事件监听器不能自由方位创建GUI界面的类中的组件,编程不能简洁


    基于回调事件处理


    Android默认约定当UI线程阻塞超过20秒,会引发ANR(Application Not Responding)异常


    异步任务 AsyncTask<> 抽象类,适用于简单的异步
    AsyncTask<params,progress,result>
    params:启动任务执行的输入参数类型
    progress:后台任务完成的进度值
    result:后台执行任务完成后返回结果的类型

    相关文章

      网友评论

          本文标题:Android日常笔记

          本文链接:https://www.haomeiwen.com/subject/itaufftx.html