-
android01
-
上面一文中我们讲过android系统中比较重要的几个进程:init进程,Zygote进程,SystemServer进程已经各种应用进程,其中Zygote进程是整个android系统的根进程,包含SystemServer进程已经各种应用进程在内的进程都是通过Zygote进程fork出来的,具体可参见: android源码解析之(八)-->Zygote进程启动流程那么SystemServer进程
-
android01
-
上一篇文章中我们讲解了android UI优化方面的知识。我们讲解了android中的include、marge、ViewStub标签,在使用这些标签时可以简化我们的布局文件,优化组件绘制流程;讲解了android中的过度绘制相关知识点,通过优化我们的App过度绘制可以提高App的UI绘制流程与性能;我们还讲解了App中一些UI优化的小tips。更多关于android UI优化方面的知识可以参考我
-
android01
-
上一篇文章中我们讲解了App的数据统计,其主要分为两种:使用第三方服务统计和自身实现数据统计。一般而言我们使用第三方统计服务已经可以很好的满足我们的也无需求了,只是部分数据敏感性App,可能自身实现数据统计服务是一个更好的选择。而本文中将要介绍的是App端的网络传输协议。那么这里首先需要明确一点的是什么是网络传输协议呢?好吧,这里首先套用一段百度百科的定义:网络传输协议或简称为传送协议(Commu
-
android01
-
我们已经分析过Activity的启动流程,从中也分析了Activity的生命周期。而其中有一个生命周期方法:onSaveInstanceState方法,今天我们主要讲解一下onSaveInstanceState方法的执行时机。可能部分同学对Activity的onSaveInstanceState方法不是特别熟悉,这里我们简单介绍一下。onSaveInstanceState方法是Activity的成
-
android
-
可能大家听都没有听说过这个框架,但是现在其实已经很火了。在面试时,很多公司要求面试者会使用这个库,所以在网上查找资料,学习了如何使用,这里记录一下。前言 RxAndroid是RxJava在Android上的一个扩展,大牛JakeWharton的项目。据说和Retorfit、OkHttp组合起来使用,效果不是一般的好。而且用它似乎可以完全替代eventBus和OTTO,这么牛的东西当然要研究研究了
-
android
-
百分比 十六进制 百分比 十六进制0% 00 51% 821% 03 52% 852% 05 53% 873% 08 54% 8A4% 0A 55% 8C5% 0D 56% 8F6% 0F 57% 917% 12 58% 948% 14 59% 969% 17 60% 9910% 1A 61% 9C11% 1C 62% 9E12% 1F 63% A113% 21 64% A314% 24 65%
-
android01
-
上一篇文章中给大家分析了一下android系统启动之后调用PackageManagerService服务并解析系统特定目录,解析apk文件并安装的过程,这个安装过期实际上是没有图形界面的,底层调用的是我们平时比较熟悉的adb命令,那么我们平时安装apk文件的时候大部分是都过图形界面安装的,那么这种方式安装apk具体的流程是怎样的呢?下面我们就来具体看一下apk的具体安装过程,相信大家都知道如果我们
-
android00
-
Android 是一种基于 Linux 的开放源代码软件栈,为广泛的设备和机型而创建。下图所示为 Android 平台的主要组件。图 1. Android 软件栈。Linux 内核Android 平台的基础是 Linux 内核。例如,Android Runtime (ART) 依靠 Linux 内核来执行底层功能,例如线程和低层内存管理。使用 Linux 内核可让 Android 利用主要安全功能
-
android01
-
上一篇文章中我们讲解了Android中的几种常见网络协议:xml,json,protobuf等,以及各自的优缺点,一般而言主要我们的App涉及到了网络传输都会有这方面的内容,具体可根据项目的需求确定各自的网络传输协议。这里可参考 android产品研发(九)-->App网络传输协议而本文讲解的其实并不是一个技术方面,而是一个android产品研发过程中的技巧:尽量不使用静态变量保存核心数据。
-
android01
-
从这篇文章开始我们暂停一下对android源码的分析,开始讲一下android产品研发中一些常用的技术,技巧,方法,实践等姿势。这里需要强调的是我们所讲解的这些东西可能对产品开发中比较常用的,因为对于项目开发中,可能更多的强调管理,进度方法的东西,对工程化的东西比较强调,而我们这里更多的是对产品技术方面的归纳总结。而本文中选择将开发规范作为这个系列的第一篇文章,就是个人感觉产品研发过程中,开发规范
-
androidproject
-
GridPagerGridPager组件:ViewPager结合GridView,轻松实现类似美团首页分类多页展示。也可用于表情面板的展示。 链式调用,属性配置,几行代码轻松搞定。① 应用的首页经常需要用到这样的分类多页展示的效果,还有些消息输入框需要这样的表情面板。② 既然是常用的,作为懒惰的我,肯定不会每次都去写一遍。网上也找了很多类似的例子,但始终不是我想要的简洁接入使用的方式。要么就是加载
-
android01
-
上一篇文章中我们讲解了android应用内页面跳转协议-scheme协议,通过该协议我们可以跳转至指定的Activity,并在该Activity中解析scheme用于跳转到指定的页面,我们可以利用scheme协议实现应用内页面跳转、H5页面与Native页面相互跳转、通知栏消息跳转相应页面等,具体可参考: android产品研发(十一)-->使用scheme实现页面跳转。而本文中我们将讲解一
-
web
-
我们可能会碰到这样的需求:想让列表中的第一个部分显示不同的样式 ,想让列表中的偶数部分显示不同的背景颜色,想让列表中的最后一部分样式不一样……这样的需求,我们怎样来实现?其实,如果前面文件是php开发的,可以通过php的循环语句+判断语句+css样式来实现。但是,如果是静态代码,php就无法用了。这时,我们还可以通过CSS来实现,CSS给我们提供了几个非常有用的样式参数:first-child、l
-
cnbzlj
-
今天,简单讲讲Android 使用OK HTTP上传图片。不废话了,直接上代码:/**
* 上传图片
* @param url
* @param imagePath 图片路径
* @return 新图片的路径
* @throws IOException
* @throws JSONException
*/
public static String uploadImag
-
android00
-
昨天新弄了一个安卓项目,从老代码修改过来的,一顿修改打包测试版真机一安装居然出现了“解析软件包时出现问题”,真是太神奇了,从学安卓到现在也有一两年了,居然还能出现这样的情况,想想一直以来也遇到好多这样的情况了,写篇博客总结下吧。一般情一般来说出现这种问题,是安装的手机不能安装该软件导致的,即 minSdkVersion 版本不支持该手机解决办法就是提高 minSdkVersion 的版本号,兼容主
-
android01
-
本文我们将讲解一下关于Android开发过程中常见的内存泄露场景与检测方案。Android系统为每个应用程序分配的内存是有限的,当一个应用中产生的内存泄漏的情况比较多时,这就会导致应用所需要的内存超过这个系统分配的内存限额,进而造成了内存溢出而导致应用崩溃。在实际的开发过程中我们由于对程序代码的不当操作随时都有可能造成内存泄露。(1)什么是内存泄露当一个对象已经不需要再使用了,本该被回收时,而有另
-
android00
-
Android 获取app版本号直接上代码: /**
* 获取版本号
* Context context
* @return 版本号
*/
public static String getAppVersionName(Context context) {
String versionName = "";
-
android01
-
在上一篇文章中我们介绍了在android产品研发过程中,启动页的优化工作,比如启动页性能优化,启动页渐进动画效果,启动页屏蔽返回按键等等,而在本文中我们将要介绍一下在App产品研发中都会复写的基类Activity。在实际的android产品研发中,一般的我们在写Activity的时候都会继承于一个基类Activity,该Activity是所有的Activity的基类。在该基类中我们主要用于重写一些
-
android01
-
随着移动技术的深入发展,各种炫酷效果的更新,在我们追求UI与UE的同时一个不如忽视的问题逐渐暴露出来,那就是apk文件越来越大,可能有的童鞋会说现在都是wifi环境,apk文件增大几M不是什么大不了的问题,这其实也是有一定道理的,但是作为开发人员的我们这绝不是我们认为可以忽略这个问题的理由。优化Apk大小也是优化我们App体验的一个重要方面,虽然可能它不是那么的重要。那么到底是那些原因让我们的Ap
-
kotlin
-
大家好,今天跟大家分享一个我开发的MVVM架构的开源小项目。话说这个小项目已经提前跟大家预热很久了,也是被不少朋友催了很多次。我之前在公众号里透漏过这个项目能够帮助大家更好地理解MVVM架构,当然我也希望确实如此。虽说这篇文章重点是向大家介绍这个开源小项目的,但是我并不希望就写得如此简单,我准备把它写成一篇干货文章。一切先从Jetpack说起。我在去年年底的时候抽时间研究了下Google的Jetp