Android 原理及源码分析
文章平均质量分 84
MyhEhud
知识是一片海洋,因为分享才能共同远航。
展开
-
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState的原因分析以及解决方案
Android Fragmen通过commit方法报错:IllegalStateException: Can not perform this action after onSaveInstanceState;Android Fragment commit()方法和commitAllowingStateLoss()方法的区别和源码分析原创 2021-01-25 23:04:36 · 1575 阅读 · 0 评论 -
解决ViewPager和PagerAdapter中调用notifyDataSetChanged失效问题(从notifyDataSetChanged方法的源码入手,超详细)
从PagerAdapter的notifyDataSetChanged方法源码入手解决ViewPager和PagerAdapter中调用notifyDataSetChanged失效的解决办法。周末了,总结一下最近在项目中通过`ViewPager`和`PhotoView`做一个照片查看器的效果,调用`notifyDataSetChanged`方法无法更新界面的问题原创 2019-09-20 23:18:07 · 7180 阅读 · 3 评论 -
java.lang.ClassNotFoundException com.google.wireless.android.sdk.stats.IntellijIndexingStats$Index
Error:Internal error: (java.lang.ClassNotFoundException) com.google.wireless.android.sdk.stats.IntellijIndexingStats$Indexjava.lang.ClassNotFoundException: com.google.wireless.android.sdk.stats.IntellijIndexingStats$Index原创 2019-09-05 10:45:11 · 29593 阅读 · 8 评论 -
安卓性能优化之懒加载的原理及实现(超详细仿微信头条实现Fragment数据懒加载)
1. 本问Part1主要是从`ViewPage的源码去分析预加载机制的实现原理`和产生的问题,从而引出懒加载, 2. Part2主要是从Fragment的六个方法入手,讲述懒加载的实现原理和步骤,以及`ViewPager+Fragment`嵌套使用的时候`子ViewPager中Fragment的`懒加载实现 3. 本文part1和part2没有特别直接的关联,如果不关新ViewPager预加载原理的同学,可以直接跳过Part1...原创 2019-09-01 17:51:46 · 6214 阅读 · 1 评论 -
ERROR:ABIs [armeabi] are not supported for platform.Supported ABIs are [arm64-v8a, armeabi-v7的完美解决方案
今天在运行NDK工程时出现ERROR: ABIs [armeabi] are not supported for platform. Supported ABIs are [arm64-v8a, armeabi-v7a, x86, x86_64].原因 ndk版本问题在ndk(v17)开始已经不在支持mips、armeabi、mips64等CPU架构只支持armeabi-v7a, arm64-...原创 2019-08-20 17:56:20 · 18029 阅读 · 2 评论 -
Android framework源码分析二 应用进程启动流程源码分析(Android8.0)
点击桌面图标如何启动的app概述1:APP启动的入口Launcher的分析概述上一篇文章中对Activity的启动流程做了详细的分析,在第三部分的Step13中ActivityStackSupervisor类的startSpecificActivityLocked方法中分析到如果activity所在进程已经启动的情况,今天就来分析一下进程未启动的情况,即App的启动流程。其实app的启动最...原创 2019-05-12 16:44:33 · 5055 阅读 · 4 评论 -
Android studio编写第一个NDK工程的过程详解(附Demo下载地址)
Android studio编写第一个NDK工程的过程详解,以及Demo下载地址1:创建工程和配置NDK2:编写JNI程序1:创建HelloWord.java类在此类中定义native方法,注意该文件中最好不要有中文字符,我这里加了一些批注方便理解2:在Terminal窗口编译HelloWord获取字节码文件`javac HelloWord.java`**注意切换到此文件目录下或者用绝对路径**,...原创 2019-04-30 11:08:26 · 5589 阅读 · 7 评论 -
Android framework 源码分析一Activity启动流程(android 8.0)
Android framework 源码分析之Activity启动流程android 8.0概述Activity的启动流程概述Android系统对四大组件的工作过程进行了很大程度的封装,方便开发者使用,Activity作为Android中四大组件之一,直接跟用户进行交互,对于用户来说activity就是应用的一切,系统对其工作流程当然也做了很多封装,本篇文章将介绍Activity的启动流程,在...原创 2019-05-04 23:50:23 · 5712 阅读 · 2 评论 -
Handler机制一篇文章深入分析Handler、Message、MessageQueue、Looper流程和源码
一篇文章深入分析Handler源码Handler概述Message 消息对象MessageQueue: 消息队列的源码分析Handler概述 Handler是一种通信机制,只不过在Android我们常用来更新UI,接下来我将分别从Message、MessageQueue、Looper、handler以及ThreadLocal的源码去深入理解handler的执行流程。Message 消息对...原创 2019-03-13 23:09:45 · 4766 阅读 · 4 评论 -
View事件的滑动冲突以及解决方案
View事件的滑动冲突以及解决方案滑动冲突的分类滑动冲突的处理规则滑动冲突的解决方案外部拦截法和内部拦截法1:外部拦截法2:内部拦截法总结滑动冲突是我们开发中经常遇到的一个问题,本文笔者将从滑动冲突的分类和滑动冲突的处理两方面进行介绍。滑动冲突的分类常见的滑动冲突可以简单分为以下三种:内部滑动方向和外部滑动方向不一致内部滑动方向和外部滑动方向一致以上两种的嵌套第一种方向不一致:我...原创 2019-03-29 17:11:45 · 4825 阅读 · 4 评论 -
Android三级缓存原理及用LruCache、DiskLruCache实现一个三级缓存的ImageLoader
Android图片三级缓存原理及用LruCache、DiskLruCache动手打造一个三级缓存的ImageLoader三级缓存概述三级缓存的流程强引用 、弱引用 、软引用、虚引用的区别:内存缓存LruCacheDiskLruCache:三级缓存概述缓存是一种通用的思想可以用在很多场景中,但在实际的开发中经常用于Bitmap的缓存,用于提高图片的加载效率、提升产品的用户体验和节省用户流量。目...原创 2019-03-18 14:18:15 · 4565 阅读 · 6 评论 -
Android事件分发机制原理及源码分析
面试Android事件分发机制原理分析概述Touch 事件分析dispatchTouchEvent(ev)事件分发onInterceptTouchEvent(MotionEvent ev)事件拦截onTouchEvent(MotionEvent ev)事件响应Activity 的dispatchTouchEvent概述Android中的事件分发机制指的是事件从Activity–>View...原创 2019-03-20 22:13:11 · 4790 阅读 · 1 评论