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

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

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

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

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

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

原创 Android性能:读写篇
所谓读写操作(也叫IO操作):通过将外部存储的文件,读取到内存(RAM)中进行修改处理,或是将内存中的数据写入文件存储到外部存储(ROM或者SD卡);由于硬件的限制,相比于内存数据,磁盘数据的读写明显要慢得多,可能会让平时时间很短的操作被放大几十倍,特别是Rom跟SD对于I/O需要频繁操作的,关于读写的性能要特别注意,除了已知的文件读写之外,SharePreferences与数据库的相关操作本...
2019-07-17 10:01:35
1593
原创 《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
676
原创 为什么我要选Flutter之移动端跨平台方案对比
为什么我要选Flutter之移动端跨平台方案对比web容器方案:优点:效率高:H5代码只需要开发一次,就能同时在多个系统运行,因此大大降低了开发成本;生态相当成熟:Web开发技术,社区和资源非常丰富,开发效率也很高;动态化:支持。缺点:性能差:一个完整HTML5页面的展示要经历浏览器控件的加载、解析和渲染三大过程,性能消耗要比原生开发增加N个数量,一边加载,一边解析,一边渲染体验较差。泛Web容器方案(Reactive Native或Weex):优点:性能较好:采
2020-05-22 20:55:54
1462
转载 【转】屏幕适配-修改系统的Density,DensityDpi
概述上一篇文章Android屏幕适配方案分析简单的说了一下屏幕适配的三种方案,关于第三种适配方案,只说了如何算出density,但是没有具体实现方案暂时还未发现什么缺点的适配方案:修改系统的Density和DensityDpi。Android之所以不好适配,就是因为屏幕尺寸不同,即使是分辨率都是1080px的情况下,他的dp值也可能不同,如果每个设备的dp值是固定的那问题也就解决了,看一...
2019-10-11 15:52:43
960
转载 【转】Android屏幕适配方案分析
Android屏幕适配方案分析为什么要屏幕适配Android开发过程中我们常用的尺寸单位有px、dp,还有一种sp一般是用于字体的大小。但是由于px是像素单位,比如我们通常说的手机分辨例如1920*1080都是px的单位。现在Android屏幕分辨率碎片化720x1280、1080x1920、2280x1080,这就造成例如187px会在各个分辨率的机型上都是显示一样大小的,那肯定不是我们...
2019-10-11 15:40:04
304
原创 我的Android学习笔记之二:Activity间的传递
刚刚学习了Android不久,共粗略地学习了几个概念:Activity、Intent、Bundle,写了十分简单一个小程序,这个程序共有两个Activity类,用Intent实现它们间的跳转,用Bundle传递数据。 首先先介绍:Activity、Intent、Bundle Activity的主要作用: 1.Activity是Andr...
2019-10-11 15:29:17
290
原创 Android Studio的Android项目支持C++开发(CMake配置)
Android Studio的Android项目支持C++开发 (CMake配置)环境主机:WIN7 开发环境:Android Studio2.2.2步骤安装NDK打开Tools->Android->SDK Manager->...
2019-07-17 14:08:20
1740
原创 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
600
原创 Android Studio的Android项目支持C++开发 (Android.mk配置)
Android Studio的Android项目支持C++开发 (Android.mk配置)环境主机:WIN7 开发环境:Android Studio2.2.2步骤安装NDK打开Tools->Android->...
2019-07-17 11:41:23
1271
原创 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
447
原创 检测Android的Activity任务栈
Android对于Activity有严格的生命周期控制,以限制开发者在适当的回调函数里的放上合适的代码。对于多个Activity的转换,Android也有非常好的管理和流畅的切换,对此Android还引入了任务栈(Task Stack)的概念,这个概念对于Android设备上得返回按键有极其重要的联系。(大部分文档都将其表述为Tasks and Back Stack,但从官方文档的描述来看,And...
2019-07-16 14:25:03
1395
原创 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
1362
原创 我的Android学习笔记之三:文档编辑器
本文主要是学习Android开发如何保存文件;分别有三种保存方式:第一种方式:以私有方式保存文件;本方式保存的文件其他程序无法读和写;点击按钮“私有保存”调用:context.openFileOutput(filename, Context.MODE_PRIVATE);Context.MODE_PRIVATE决定了以私有方式保存文件。第二种方式:常规方式保存文件;本方式保存的文
2012-02-12 20:22:57
406
原创 我的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
355
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人