android_jni_study_2
title : JNI 初探—-C与C++开发
tag:[android]
category:android
在日常开发中,对于异步的访问,JAVA端都习惯通过Interface来构建回调通知,而在线程处理方面,Interface的回调一般都会与回调需要处理的API在相同线程,一般为UI线程,但回调需要调用宿主的相关API处理,这就需要调用宿主的引用,如果回调的Interface还在调用的队列里面没有用到,但宿主已经结束使命,准备回收,Interface由于内含宿主的应用,就比较容易导致内存泄漏,例子如下:
为尽可能缩减apk包的大小,我们应该在release版本中移除未使用的代码和资源。这篇文档描述如何在构建过程中指定保留和移除的代码与资源。
1、优化Component
很多人在定义一个class时都会去继承Component,这并没有错,但是如果一个子组建也继承了Component,那么当父组建render时也会导致子组建的render,怎么解决呢?其实很简单只需要我们的子组建去继承PureComponent即可。个人建议自定义的class都可以去继承PureComponent从而避免不必要的render。
导读 –android减包小工具projectFit.gradle,基于android Gradle的打包配置任务以及APK包进行减包分析,并生成合理的减包建议报告文件HTML
导读 随着项目越来越大,APK的包也越来越大,前几天对APK进行减包处理,其中有一个资源混淆的减包手段,作用有两点:一是通过混淆资源ID长度同时利用7z深度压缩,减小了apk包大小;二是混淆后在安全性方面有一点提升,提高了逆向破解难度。但项目原来引进了Tinker热更新,这样就存在以下两个问题:
原文地址:https://www.raizlabs.com/dev/2014/03/wrangling-dalvik-memory-management-in-android-part-1-of-2/
https://www.raizlabs.com/dev/2014/04/hunting-your-leaks-memory-management-in-android-part-2-of-2/
There are some people who believe this myth that you don’t need to worry about managing memory while writing Android applications. It’s a self-contained Java environment, right? What’s the worst that could happen?
ReactiveX是Reactive Extensions的缩写,一般简写为Rx,最初是LINQ的一个扩展,由微软的架构师Erik Meijer领导的团队开发,在2012年11月开源,Rx是一个编程模型,目标是提供一致的编程接口,帮助开发者更方便的处理异步数据流,Rx库支持.NET、JavaScript和C++,
在 jdk 1.2 及其以后,引入了强引用、软引用、弱引用、虚引用这四个概念。网上很多关于这四个概念的解释,但大多是概念性的泛泛而谈,今天我结合着代码分析了一下,首先我们先来看定义与大概解释(引用类型在包 java.lang.ref 里)。
LeakCanary项目是quare公司为Java&Android开发提供的一个自动检测内存泄漏的工具,项目地址:https://github.com/square/leakcanary。LeakCanary可以为开发提高代码质量,减少不必要的内存泄漏。尽管Java有垃圾回收机制,但是一些无意识的代码经常会导致对象的引用存在超过其生命周期,Android常见的如activity,fragment等。