android优化
WalterSECREAT
这个作者很懒,什么都没留下…
展开
-
java(Android) 中,泛型的理解
对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。本文参考java 泛型详解、Java中的泛型方法、 java泛型详解1. 概述泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。什么是泛型?为什么要使用泛型?泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数.转载 2020-08-04 15:33:06 · 387 阅读 · 0 评论 -
Android 根据不同的屏幕分辨率适配(含下载地址)
关于安卓手机分辨率尺寸各有不同,为了支持多种屏幕,给大家推荐三种适配方案:1.googe开源百分比布局2.动态适配各个屏幕分辨率3.静态适配各个屏幕分辨率(XML自动生成工具)(以上三种方案可以根据项目实际情况相结合使用)第一种网上百度一大堆,第二种用起来太麻烦,第三种的资源我贴上一个压缩包,里面包含各种分辨率文件...原创 2020-05-19 10:16:39 · 603 阅读 · 0 评论 -
Android 常用知识点整理(含链接)
service的启动方式,绑定方式,有何不同service的生命周期,启动顺序广播的生命周期,启动顺序,启动方式,有何不同自定义view需要重写的方法,每个方法的作用AIDL相关知识事件分发机制如何进行进程守护进程间如何通信,线程间如何通信线程优先级问题原创 2020-03-04 17:39:42 · 169 阅读 · 0 评论 -
RecycleView 实现复杂首页布局三种方式
做过电商类应用的朋友可能都会遇到一个比较头疼的问题:复杂的首页布局如何实现。参考百度糯米,美团,bilibili等应用,都会发现其首页的布局相对复杂,例如下图bilibili的首页(第二张是demo实现的效果图),可以看到在同一个页面中先是有列表布局出现,然后出现了2列的网格布局,接着3列的网格布局,最后还出现了瀑布流式布局: 这样的效果该怎么做呢?是使用LinearLayoutM转载 2016-09-28 09:54:59 · 15156 阅读 · 4 评论 -
APP学习笔记
第一章1.1 重新规划Android项目结构重新规划Android项目的目录结构,分两步走:1. 建立AndroidLab类库,将与业务无关的逻辑转移到AndroidLab,AndroidLab至少包括五大部分:包名+ acticity,cache,net,ui,utils 。activity包里面存放的是与业务无关的Activity基类。net包里存放的是网络底层封装原创 2016-10-10 10:11:25 · 954 阅读 · 0 评论 -
Android布局性能优化—从源码角度看ViewStub延迟加载技术
在项目中,难免会遇到这种需求,在程序运行时需要动态根据条件来决定显示哪个View或某个布局,最通常的想法就是把需要动态显示的View都先写在布局中,然后把它们的可见性设为View.GONE,最后在代码中通过控制View.VISIABLE动态的更改它的可见性。这样的做法的优点是逻辑简单而且控制起来比较灵活。但是它的缺点就是,耗费资源,虽然把View的初始可见View.GONE但是在Inflate布局转载 2016-09-07 21:45:21 · 382 阅读 · 0 评论 -
Android官方推荐使用DialogFragment替换AlertDialog
DialogFragment是在Android3.0(API level 11)中引入的,它代替了已经不建议使用的AlertDialog。DialogFragment高效地封装和管理对话框的生命周期,并让Fragment和它包含的对话框的状态保持一致。那么,已经有了AlertDialog为什么要引入DialogFragment呢?DialogFragment对话框出现的意义转载 2016-09-07 21:38:40 · 3760 阅读 · 0 评论 -
内存泄漏
内存泄漏为什么会产生内存泄漏?当一个对象已经不需要再使用了,本该被回收时,而有另外一个正在使用的对象持有它的引用从而导致它不能被回收,这导致本该被回收的对象不能被回收而停留在堆内存中,这就产生了内存泄漏。内存泄漏对程序的影响?内存泄漏是造成应用程序OOM的主要原因之一!我们知道Android系统为每个应用程序分配的内存有限,而当一个应用中产生的内存泄漏比较多时,这就原创 2016-09-07 21:27:02 · 434 阅读 · 0 评论 -
摘自 10条提升Android性能的建议
Activity 泄漏 我们第一个需要修复的问题就是 Activity 泄漏,我们先来看看内存泄漏是怎么发生的。 Activity 泄漏通常是内存泄漏的一种。为什么会泄漏呢?如果你持有一个未使用的 Activity 的引用,其实也就持有了 Activity 的布局,自然也就包含了所有的 View。最棘手的是持有静态引用。别忘了,Activity 和 Fragment 都有自己的生命周期。一原创 2016-09-07 21:25:44 · 348 阅读 · 0 评论 -
Android性能优化之使用线程池处理异步任务
[+]说到线程,我想大家都不陌生,因为在开发时候或多或少都会用到线程,而通常创建线程有两种方式:1、继承Thread类 2、实现Runnable接口虽说这两种方式都可以创建出一个线程,不过它们之间还是有一点区别的,主要区别在于在多线程访问同一资源的情况下,用Runnable接口创建的线程可以处理同一资源,而用Thread类创建的线程则各自独立处理转载 2016-09-07 21:18:30 · 1910 阅读 · 0 评论 -
Android性能优化之被忽视的优化点
对于性能优化这个知识点来说,实在是太广了,博主本人也一直非常关注这方面的学习,而对于性能优化来说它包括了非常非常非常多方面,比如:I/O的优化、网络操作的优化、内存的优化、数据结构的优化、代码层次的优化、UI渲染优化、CPU资源使用率的优化、异常处理的优化等等等等。。。本篇文章就博主本人的理解来讲述一些在Android开发中可以优化的地方ArrayList和VectorAr转载 2016-09-07 21:15:46 · 1342 阅读 · 0 评论 -
优雅的App完全退出方案(没有任何内存泄漏隐患)
在Android开发过程中,特别是界面比较多的情况下,用平常的退出方式往往是不能完全退出这个应用,网络上也好多各种退出方案。其中一种应该是被广大开发者采纳使用,也非常的清晰方便,就是在Application中维护一个单例的List管理容器,每次打开新的Activity就把当前Activity加入到容器中,然后在需要完全退出的时,就循环遍历该容器分别finish()每个Activity,即达到完全退转载 2016-09-07 21:10:51 · 659 阅读 · 0 评论 -
Android内存优化(使用SparseArray和ArrayMap代替HashMap)
在Android开发时,我们使用的大部分都是Java的api,比如HashMap这个api,使用率非常高,但是对于Android这种对内存非常敏感的移动平台,很多时候使用一些java的api并不能达到更好的性能,相反反而更消耗内存,所以针对Android这种移动平台,也推出了更符合自己的api,比如SparseArray、ArrayMap用来代替HashMap在有些情况下能带来更好的性能提升。转载 2016-09-07 21:09:26 · 486 阅读 · 0 评论 -
Android性能优化典例
在Android开发过程中,很多时候往往因为代码的不规范、api使用不恰当、控件的使用场景考虑不全面和用户不恰当的操作等都能引发一系列性能问题的,下面就是我目前整理的一些Android开发过程中需要注意的细节,正所谓一颗老鼠屎可以坏了一锅粥,细节决定成败下面就是一些性能优化的方案:1、Android中别使用enum,使用static final 代替枚举enum,因为使用enu转载 2016-09-07 21:05:23 · 282 阅读 · 0 评论 -
Android性能优化典例
1、使用 Maven 依赖方案代替使用导入jar包方案如果项目中需要用到第三方jar包,常用的做法是去网上下载后然后放入libs文件夹,再添加到项目依赖,不过,在Android Studio已经不推荐使用这套做法了,因为如果jar有更新,那么每次都要去下载最新版本然后删除历史依赖再添加新版本的依赖,这样做很繁琐,而在Android Studio中,这个问题使用Maven已经很好的解决了,因转载 2016-09-07 20:59:37 · 312 阅读 · 0 评论 -
Android性能优化之界面UI篇
1、使用style、color、string、dimen样式来分离xml布局文件,减少代码的重复使用,增加代码复用率,防止hardcode,下面是一个例子: 在定义layout时候,因为每个View或ViewGroup都必须要有layout_width和layout_height,所以我们可以专门定义一个size_style.xml,里面的内容为:resources> style转载 2016-09-07 20:50:03 · 389 阅读 · 0 评论 -
Android性能优化之加快应用启动速度
应用的启动启动方式通常来说,在安卓中应用的启动方式分为两种:冷启动和热启动。1、冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动。2、热启动:当启动应用时,后台已有该应用的进程(例:按back键、home键,应用虽然会退出,但是该应用的进程是依然会保留在后台,可进入任务列表查看),所以在已有进程的情况转载 2016-09-07 20:45:47 · 1261 阅读 · 0 评论 -
Android中处理大图片时图片压缩
1、BitmapFactory.Options中的属性在进行图片压缩时,是通过设置BitmapFactory.Options的一些值来改变图片的属性的,下面我们来看看BitmapFactory.Options中常用的属性意思:options.inPreferredConfig - 设置Bitmap的偏好配置,值有Bitmap.Config.ARGB_8888,Bitmap.转载 2016-09-07 20:02:44 · 320 阅读 · 0 评论