自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android性能:内存篇之内存优化

Android的内存问题是Android开发领域永恒的话题,作为Android老大难问题,内存所带来的困扰远远大于读写的性能问题,近乎所有的问题最后都会变成内存问题,而内存问题,就包括且不局限于“内存溢出”、“内存泄漏”、“内存抖动”等等,那就得学会合理地进行内存管理或进行内存优化了。尽管Android的Dalvik虚拟机扮演了常规的垃圾回收的角色,但这并不意味着你可以忽视app的内存分配与释放...

2019-08-06 11:51:13 248

原创 Android性能:内存篇之Android虚拟机

Dalvik虚拟机在《Android性能:内存篇之虚拟机概论》中我们已经初步了解了JVM的结构基础与内存空间,,但是Android系统中的java虚拟机毕竟不是使用JVM,而是Delvik(Android系统5.0之前版本)与ART(Android4.4及之后版本),在《Android性能:内存篇之内存回收》对内存回收有了深入的了解,接下来我们详细聊聊Android虚拟机的内存回收机制及与虚拟机...

2019-08-03 16:26:47 884

原创 Android性能:内存篇之内存回收

Android性能:内存篇之内存回收内存回收一般来说,程序使用内存的方式遵循先向操作系统申请一块内存,使用内存,使用完毕之后释放内存归还给操作系统。然而在传统的C/C++等要求显式释放内存的编程语言中,记得在合适的时候释放内存是一个很有难度的工作,因此Java等编程语言都提供了基于垃圾回收算法的内存管理机制。Garbage Collection(GC)Garbage Collection(...

2019-08-02 17:36:40 2269

原创 Android性能:内存篇之进程内存管理

Android性能:内存篇之内存基础在学会内存性能优化之前我们得先了解android内存的相关知识,上一篇文章我们已经了解了虚拟机的概念及Android所使用的Delvik、ART与JVM的相关差异,在了解完虚拟机结构体系与内存空间结构之外,这里再看看一些还没有涉及到的基础知识。内存分配在 Android 系统中,内存分配实际上是对堆的分配和释放。当一个 Android 程序启动,应用进程都...

2019-08-02 16:45:11 307

原创 Android性能:内存篇之虚拟机概论

Android性能:内存篇之虚拟机学习当我们刚开始接触Android时,可能关注的比较多的是如何实现某个功能,但学到一定程度的时候,我们会发现无论一个应用多么炫酷,如果运行特别慢,或者说很耗内存,这将会带来很差的用户体验,甚至还有可能发生“内存泄漏”、“内存溢出”、“内存抖动”等问题,所以说,内存优化变得尤为重要。在了解内存回收之前,我们得先聊聊虚拟机与垃圾回收器,才懂得怎么样进行内存优化。...

2019-07-25 18:05:12 270

原创 Android性能:读写篇

所谓读写操作(也叫IO操作):通过将外部存储的文件,读取到内存(RAM)中进行修改处理,或是将内存中的数据写入文件存储到外部存储(ROM或者SD卡);由于硬件的限制,相比于内存数据,磁盘数据的读写明显要慢得多,可能会让平时时间很短的操作被放大几十倍,特别是Rom跟SD对于I/O需要频繁操作的,关于读写的性能要特别注意,除了已知的文件读写之外,SharePreferences与数据库的相关操作本...

2019-07-17 10:01:35 1496

原创 《Flutter技术解析与实战》读书笔记

第一章 混合工程1. 混合工程下的Flutter研发结构2. 构建优化问题:Android在FLutter启动是构建缓慢解决:是工程应用Module对应的build.gradle位于android/app下Native启动下的Flutter调试iOS:使用ObservatoryAndroid和iOS:使用IDE链接调试配置Dart Remote DebugNative启动下的Flutter热重载启动App,进入Flutter页面后iOS:查找Observatory端口x和认证码y,在

2020-07-17 15:28:05 626

原创 为什么我要选Flutter之移动端跨平台方案对比

为什么我要选Flutter之移动端跨平台方案对比web容器方案:优点:效率高:H5代码只需要开发一次,就能同时在多个系统运行,因此大大降低了开发成本;生态相当成熟:Web开发技术,社区和资源非常丰富,开发效率也很高;动态化:支持。缺点:性能差:一个完整HTML5页面的展示要经历浏览器控件的加载、解析和渲染三大过程,性能消耗要比原生开发增加N个数量,一边加载,一边解析,一边渲染体验较差。泛Web容器方案(Reactive Native或Weex):优点:性能较好:采

2020-05-22 20:55:54 1223

转载 【转】屏幕适配-修改系统的Density,DensityDpi

概述上一篇文章Android屏幕适配方案分析简单的说了一下屏幕适配的三种方案,关于第三种适配方案,只说了如何算出density,但是没有具体实现方案暂时还未发现什么缺点的适配方案:修改系统的Density和DensityDpi。Android之所以不好适配,就是因为屏幕尺寸不同,即使是分辨率都是1080px的情况下,他的dp值也可能不同,如果每个设备的dp值是固定的那问题也就解决了,看一...

2019-10-11 15:52:43 884

转载 【转】Android屏幕适配方案分析

Android屏幕适配方案分析为什么要屏幕适配Android开发过程中我们常用的尺寸单位有px、dp,还有一种sp一般是用于字体的大小。但是由于px是像素单位,比如我们通常说的手机分辨例如1920*1080都是px的单位。现在Android屏幕分辨率碎片化720x1280、1080x1920、2280x1080,这就造成例如187px会在各个分辨率的机型上都是显示一样大小的,那肯定不是我们...

2019-10-11 15:40:04 266

原创 我的Android学习笔记之二:Activity间的传递

刚刚学习了Android不久,共粗略地学习了几个概念:Activity、Intent、Bundle,写了十分简单一个小程序,这个程序共有两个Activity类,用Intent实现它们间的跳转,用Bundle传递数据。 首先先介绍:Activity、Intent、Bundle Activity的主要作用:  1.Activity是Andr...

2019-10-11 15:29:17 272

原创 Android Studio的Android项目支持C++开发(CMake配置)

Android Studio的Android项目支持C++开发 (CMake配置)环境主机:WIN7 开发环境:Android Studio2.2.2步骤安装NDK打开Tools->Android->SDK Manager-&gt...

2019-07-17 14:08:20 1688

原创 Android Studio的Android项目支持C++开发 (Gradle ndk-build配置——无Android.mk)

Android Studio的Android项目支持C++开发 (Gradle ndk-build配置——无Android.mk)环境主机:WIN7 开发环境:Android Studio2.2.2步骤安装NDK打开Tools->Android-&...

2019-07-17 11:49:46 568

原创 Android Studio的Android项目支持C++开发 (Android.mk配置)

Android Studio的Android项目支持C++开发 (Android.mk配置)环境主机:WIN7 开发环境:Android Studio2.2.2步骤安装NDK打开Tools->Android-&gt...

2019-07-17 11:41:23 1213

原创 adb常用命令

adb介绍SDK的Tools文件夹下包含着Android模拟器操作的重要命令adb,adb的全称为(Android Debug Bridge就是调试桥的作用。通过adb我们可以调试Android程序,管理手机设备及其文件,还可以通过adb可以轻松的执行Linux Shell命令。常用命令adb shell进入devices命令行模式,进入命令行模式,就是linux命令行了 ...

2019-07-16 14:33:01 419

原创 检测Android的Activity任务栈

Android对于Activity有严格的生命周期控制,以限制开发者在适当的回调函数里的放上合适的代码。对于多个Activity的转换,Android也有非常好的管理和流畅的切换,对此Android还引入了任务栈(Task Stack)的概念,这个概念对于Android设备上得返回按键有极其重要的联系。(大部分文档都将其表述为Tasks and Back Stack,但从官方文档的描述来看,And...

2019-07-16 14:25:03 1331

原创 AndroidStudio发布公共类库到Maven仓库(Nexus)

一、 打包并发布项目1. 编写gradle脚本在需要发布为公共类库的module的build.gradle文件引入maven插件:在此gradle文件根部添加发布代码:apply plugin: 'maven'def MAVEN_LOCAL_PATH = 'http://127.0.0.1:8888/repository/android-release/

2017-03-27 14:26:44 1324

原创 我的Android学习笔记之三:文档编辑器

本文主要是学习Android开发如何保存文件;分别有三种保存方式:第一种方式:以私有方式保存文件;本方式保存的文件其他程序无法读和写;点击按钮“私有保存”调用:context.openFileOutput(filename, Context.MODE_PRIVATE);Context.MODE_PRIVATE决定了以私有方式保存文件。第二种方式:常规方式保存文件;本方式保存的文

2012-02-12 20:22:57 355

原创 我的Android学习笔记之一:Android开发环境搭建

我的Android学习笔记之一:Android开发环境搭建一、安装必要工具:a)        Java 5.0+编写Android之前必须安装JDK 5或JDK 6。JDK 6官方下载地址 :http://www.oracle.com/technetwork/java/javaee/downloads/java-ee-sdk-6u3-jdk-6u29-downloads-5233

2012-01-03 21:04:30 332

Android开发环境搭建

Android开发环境搭建,详细逐步的列出Android开发环境如何搭建,android开发学习的第一步

2012-02-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除