GithubHelp home page GithubHelp logo

jeanboydev / android-readthefuckingsourcecode Goto Github PK

View Code? Open in Web Editor NEW
2.2K 111.0 465.0 53.73 MB

😜 记录日常的开发技巧,开发中遇到的技术重点、难点,各个知识点的总结,优质面试题等等。持续更新...

Home Page: https://jeanboy.blog.csdn.net

Python 21.69% HTML 78.31%
android java architecture jvm git tcp-ip binder surface-flinger design-patterns interview-questions

android-readthefuckingsourcecode's Introduction

Android 技术笔记

图片看不到的小伙伴,请打开科学上网

这里主要记录日常的开发技巧,开发中遇到的技术重点、难点,各个知识点的总结。同时也会分享一些优质面试题,职业规划,读书心得,个人感悟等等。😋

🌝🌔🌓🌒🌚🌚🌘🌗🌖🌝

如果能帮助到你,我很开心。希望你能点击一下右上角的小星星「⭐️ Star」 一下,然后 点击这里 找到头像下面按钮 Follow 一下我。你的 Star 和 Follow 是我分享的动力,十分感谢!😘

如果你有什么疑问或者问题,可以 点击这里 提交 issue,也可以发邮件给我 [email protected]

由于个人经验有限,内容上难免会有不足甚至错误的地方,恳请大家发现后提交 issue 或其它方式反馈给我,以免误导大家,万分感谢!🙏

目录

瞎玩

流光溢彩效果

图解 Android 系列

性能优化系列

深入理解 Java 虚拟机

热修复与插件化系列

Android 基础知识

Android 进阶攻略

Gradle

网络通信

数据结构与算法

线性表

栈和队列

查找

排序

前端

Git

Redis

设计模式

创建型模式 结构型模式 行为型模式
Singleton(单例) Adapter(适配器) Chain of Responsibility(责任链)
Factory(工厂) Bridge(桥接) Command(命令)
Abstract Factory(抽象工厂) Composite(组合) Interpreter(解释器)
Builder(建造者) Decorator(装饰) Iterator(迭代器)
Prototype(原型) Facade(外观) Mediator(中介者)
Flyweight(享元) Memento(备忘录)
Proxy(代理) Observer(观察者)
State(状态)
Strategy(策略)
Template Method(模板方法)
Visitor(访问者)

我的公众号

欢迎关注我的公众号,分享各种技术干货,各种学习资料,职业发展和行业动态。

Android 波斯湾

技术交流群

同时欢迎加入技术交流群,来一起交流学习。

QQ 技术交流群

微信技术交流群

android-readthefuckingsourcecode's People

Contributors

caojianbo-tal avatar dazmk avatar jeanboydev avatar louisshark avatar studyplay avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

android-readthefuckingsourcecode's Issues

The Reference Links provided are redirect to invalid path

嗨,珍妮,

感谢在这些博客上的写作,这有助于进一步学习和深入了解Android源代码。

我遇到了问题,例如作为参考提供的链接被重定向到一些不需要的网站,因此如果您确实有权访问它们,请要求您更新新链接。

感谢和问候
Android学习者

Hi Jeanboy,

Thanks got effort given writing in these blogs, this helped to learn and dig down further in Android Source code.

I have issue like the links provided as reference are redirecting to some unwanted website so request you to please update the new links if you do have access to them.

Thanks & Regards
An Android Learner

07_handler.md 有一个小错误

07_handler.md
Handler 常用的方式:

// 使用方式二:handler.post() handler.post(new Runnable() { @Override public void run() { // 运行在子线程中... } });

这个run应该是运行在handler所在的线程中...
如果是主线程的Handler,run就执行在主线程,可以更新UI,setText等操作
如果是子线程的Handler,run就执行在子线程

关于Service 生命周期。

Android - 基础知识 中关于Service 的生命周期描述中,startService()启动方式下,onStart()发方法已经废弃,改成onStartCommand(); 更合适。

链接到黄色网站了

article/android/performance/06_launch.md

  • Android 你应该知道的的应用冷启动过程分析和优化方案

JAVA 序列化

Java中,有两种方式可以实现序列化,既可以实现Serializable接口,也可以实现Parcelable接口。然而,
在Android中,我们不应该使用Serializable接口。因为Serializable接口使用了反射机制,这个过程相对缓
慢,而且往往会产生出很多临时对象,这样可能会触发垃圾回收器频繁地进行垃圾回收。相比而言,
Parcelable接口比Serializable接口效率更高,性能方面要高出10x多倍。

  • 修改如下

    Java中,只有一种方式可以实现序列化,只需要实现Serializable接口。

    Android中,还有另外一种实现序列化的方式,实现Parcelable,这个是android独有的一种序列化方
    方式,相比较Serializable, Parcelable需要提供大量的模板代码,较为繁琐,但是效率比Serializable高出不少,因为Serializable实现的序列化利用反射,可能会进行频繁的IO操作,所以消耗比较大。而Parcelable则是在内存中进行序列化

所以这里推荐的是:

内存序列化优先选择Parcelable

存储到设备优先选择Serializable(这里推荐使用json方式加密保存在本地,比较简单)

评论

非常好,是我目前看到的质量最好的知识总结

Handler问题

// 使用方式二:handler.post()
handler.post(new Runnable() {
@OverRide
public void run() {
// 运行在子线程中...
}
});

这个不是运行在主线程吗?

链接失效

你好,有好多链接都失效了,可以更新一下嘛

评价

总结的非常好,一直关注,希望能多交流学习。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.