![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android开发
文章平均质量分 84
追梦青苹果
这个作者很懒,什么都没留下…
展开
-
面试官: 说一下你做过哪些性能优化?
1、 你对 APP 的启动有过研究吗? 有做过相关的启动优化吗?程序员:之前做热修复的时候研究过 Application 的启动原理。项目中也做过一些启动优化。面试官:程序员:我发现程序在冷启动的时候,会有 1s 左右的白屏闪现,低版本是黑屏的现象,在这期间我通过翻阅系统主题源码,发现了系统 AppTheme 设置了一个 windowBackground ,由此推断就是这个属性捣的鬼,开始我是通过设置 windowIsTranslucent 透明属性,发现虽然没有了白屏,但是中间还是有一小段不可见,这个用转载 2022-07-08 08:19:44 · 935 阅读 · 0 评论 -
Android启动流程:上电到启动第一个APP的详细流程
Android启动流程:上电到启动第一个APP的详细流程 1. 安卓启动大致如下图所示: 2. BootLoader (如果想了解跟详细关于bootloader请看:安卓bootloader) 从系统的角度上来讲,Android系统的启动过程可以分为 bootloader 引导,装载和启动 linux内核 启动Android系统bootloader 相当于电脑上的Bios 他的主要作用就是初始化基本的硬件设备,建立内存空间映射, 为装载linux内核准备好运行环境,当linux内核加载完转载 2022-07-05 06:13:29 · 1274 阅读 · 0 评论 -
Android状态栏微技巧,带你真正理解沉浸式模式
记得之前有朋友在留言里让我写一篇关于沉浸式状态栏的文章,正巧我确实有这个打算,那么本篇就给大家带来一次沉浸式状态栏的微技巧讲解。其实说到沉浸式状态栏这个名字我也是感到很无奈,真不知道这种叫法是谁先发起的。因为Android官方从来没有给出过沉浸式状态栏这样的命名,只有沉浸式模式(Immersive Mode)这种说法。而有些人在没有完全了解清楚沉浸模式到底是什么东西的情况下,就张冠李戴地认为一些系统提供的状态栏操作就是沉浸式的,并且还起了一个沉浸式状态栏的名字。比如之前就有一个QQ群友问过我,像饿了转载 2022-05-12 05:32:14 · 316 阅读 · 0 评论 -
Android 沉浸式状态栏与隐藏导航栏
一般我们在Android的APP开发中,APP的界面如下:可以看到,有状态栏、ActionBar(ToolBar)、导航栏等,一般来说,APP实现沉浸式有三种需求:沉浸式状态栏,隐藏导航栏,APP全屏沉浸式状态栏是指状态栏与ActionBar颜色相匹配,隐藏导航栏不用多说,就是将导航栏隐藏,去掉下面的黑条。APP全屏是指将状态栏与导航栏都隐藏,例如很多游戏界面,都是APP全屏。所以,在做这一步时,关键要问清楚产品狗的需求,免得白费功夫。下面,分别来介绍这三种方式的实现。2 沉浸式.转载 2022-05-12 05:15:55 · 3466 阅读 · 0 评论 -
FlexboxLayout——实现灵活多变的瀑布流
之前看到一个很炫酷的布局:FlexboxLayout,可以很方便地实现瀑布流的效果。今天正好用到项目中,对FlexboxLayout进行一个简单的学习。一、效果图先来看一波效果图。很熟悉,对不对?就是简书的定制热门页面。通过今天的学习,利用FlexboxLayout+RecyclerView就可以实现。下面是自己实现的效果图:像上述的应用场景,会经常在一些APP中看到。那么就学起来吧,看看是怎么实现的。二、FlexboxLayout简介...转载 2021-04-25 08:52:03 · 727 阅读 · 0 评论 -
View与ViewGroup绘制原理解析(一): 绘制流程
Android组件View绘制流程原理分析android视图构成如上图,Activity的window组成,Activity内部有个Window成员,它的实例为PhoneWindow,PhoneWindow有个内部类是DecorView,这个DecorView就是存放布局文件的,里面有TitleActionBar和我们setContentView传入进去的layout布局文件Window类时一个抽象类,提供绘制窗口的APIPhoneWindow是继承Window的一个具体的类,该类内部包含了.转载 2021-04-23 10:24:41 · 302 阅读 · 0 评论 -
ViewPager和ViewPager+Fragment联合使用方法精炼详解
一、前期基础知识储备使用了ViewPager, PagerSlidingTabStrip, SwipeRefreshLayout模仿Douban客户端的下拉刷新以及滑动的效果。ViewPager—视图滑动切换工具——通过手势滑动可以完成View的切换,一般是用来做APP 的引导页或者实现图片轮播——意味着ViewPager中经常放的东西有两个:①图片,实现图片轮播器;②View视图,实现View 的切换,如应用启动页面。ViewPager就是一个简单的页面切换组件,我们可以往里面填充多个Vi.转载 2021-04-22 15:19:56 · 1074 阅读 · 0 评论 -
RecyclerView进阶:使用ItemTouchHelper实现拖拽和侧滑删除
现在RecyclerView的应用越来越广泛了,不同的应用场景需要其作出不同的改变。有时候我们可能需要实现侧滑删除的功能,比如知乎首页的侧滑删除,又或者长按Item进行拖动与其他Item进行位置的交换,但RecyclerView没有提供现成的API供我们操作,所幸SDK提供了ItemTouchHelper这样一个工具类帮助我们快速实现以上功能。不多说别的,我们来介绍一下ItemTouchHelper。什么是ItemTouchHelperThis is a utility class to add s.转载 2021-04-22 10:23:56 · 809 阅读 · 0 评论 -
一种优雅的方式实现RecyclerView条目多类型
下面以一个故事来讲来说明这中方式是怎么实现的。放弃vlayout大家都了解一般首页是非常复杂的,去年初项目引入vlayout来解决首页复杂布局的问题,后来对vlayout和databinding结合进行了封装,使用起来更方便简单,不仅首页使用,很多页面都在用,还封装了单纯列表样式的Activity,刷新加载的Activity,这样很开心的过了很久。由于vlayout项目一直比较活跃,在满足各种各样的需求上一直在打补丁,我也是一直在把它更新为最新版本,直到又一次更新我的的列表不显示内容了,经过一上午的排转载 2021-04-21 22:52:01 · 250 阅读 · 0 评论 -
Android应用开发工程师技术栈
数据结构.png算法.pngJava基础.png1,Android 应用开发基础.png2,Android应用开发中阶.png3,Android应用开发高阶.png4,Android应用开发技术栈.png原创 2021-03-04 14:12:20 · 701 阅读 · 1 评论 -
Android布局RelativeLayout(相对布局)详解
RelativeLayout(相对布局)前言和线性布局(LinearLayout)一样,RelaiveLayout相对布局也是我们用的比较多的一个布局之一好的编程建议:合理地利用好LinearLayout的weight权重属性和RelativeLayout相对布局,可以解决屏幕分辨率不同的自适应问题!相对,顾名思义是有参照的,就是以某个兄弟组件,或者父容器来决定的比转载 2015-01-14 17:34:00 · 4706 阅读 · 0 评论 -
Ubuntu下编译JNI程序
为何要用到NDK?概括来说主要分为以下几种情况:1. 代码的保护,由于apk的java层代码很容易被反编译,而C/C++库反汇难度较大。2. 在NDK中调用第三方C/C++库,因为大部分的开源库都是用C/C++代码编写的。3. 便于移植,用C/C++写得库可以方便在其他的嵌入式平台上再次使用。下面就介绍下Android NDK的入门学习过程:入门的最转载 2015-03-04 16:30:31 · 678 阅读 · 0 评论 -
sqlite expert 教程
SQLite DatabaseSQLite is an embedded relational database engine. Its developers call it a self-contained, serverless, zero-configuration and transactional SQL database engine. 其实只需要记住SQLite不需要数据库服转载 2015-03-05 15:27:39 · 14997 阅读 · 0 评论 -
Android 多线程----AsyncTask异步任务详解
【声明】欢迎转载,但请保留文章原始出处→_→生命壹号:http://www.cnblogs.com/smyhvae/文章来源:http://www.cnblogs.com/smyhvae/p/3866570.html 【正文】本文将讲解一下Android的多线程的知识,以及如何通过AsyncTask机制来实现线程之间的通信。一、Android当中的多线程:在An转载 2017-11-03 17:14:41 · 233 阅读 · 0 评论 -
android 保存bitmap图片到sd卡中文件夹
/** 保存方法 */ public void saveBitmap() { Log.e(TAG, "保存图片"); File f = new File("/sdcard/namecard/", picName); if (f.exists()) { f.delete(); } try { FileOutputStream out原创 2014-07-24 11:45:51 · 586 阅读 · 0 评论 -
[Android讨论] Android打包常见错误之Export aborted because fatal lint errors were found
打包时报如下错误:Export aborted because fatal lint errors were found. These are listed in the Lint View. Either fix these before running Export again,or turn off"Run full error check when exporting app"转载 2014-10-28 10:01:51 · 510 阅读 · 0 评论 -
Ubuntu Android adb调试无法识别设备
在Ubuntu下做Android开发, 使用adb devices调试的时候出现在面的错误:.sophie@sophie-B85M-D3V:~$ adb devices* daemon not running. starting it now on port 5037 ** daemon started successfully *List of devices attached?原创 2015-01-16 15:48:45 · 510 阅读 · 0 评论