疯子来过

Results 26 comments of 疯子来过

混淆,没有啥东西,该留下留下,该混淆混淆,最多问题找不到,我遇到小米手机可以安卓,华为手机不你能安卓,后来检查出来是华为推送问题,加混淆最好是,弄完以后找百度或者360等去免费测试一遍,多机型跑一遍,混淆宁愿多留点,不要干的太彻底,你不确定的就别混淆,

优化方案总结 (1)GPS ——使用要谨慎,如精确度不高可用WiFi定位或者基站定位,可用;非要用的话,注意定位数据的复用和定位频率的阈值 (2)Process和Service ——按需启动,用完就退出 (3)网络数据交互 ——减少网络网络请求次数和数据量;WiFi比手机网络省电 (4)CPU ——减少I/O操作(包括数据库操作),减少大量的计算 (5)减少手机硬件交互 ——使用频率优化和选择低功耗模式

PackageInstaller 原理简述 应用安装是智能机的主要特点,即用户可以把各种应用(如游戏等)安装到手机上,并可以对其进行卸载等管理操作。APK是Android Package的缩写,即Android安装包。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。 Android应用安装有如下四种方式 1. 系统应用安装――开机时完成,没有安装界面 2. 网络下载应用安装――通过market应用完成,没有安装界面 3. ADB工具安装――没有安装界面。 4. 第三方应用安装――通过SD卡里的APK文件安装,有安装界面,由packageinstaller.apk应用处理安装及卸载过程的界面。 应用安装的流程及路径 应用安装涉及到如下几个目录: system/app 系统自带的应用程序,无法删除 data/app 用户程序安装的目录,有删除权限。 安装时把apk文件复制到此目录 data/data 存放应用程序的数据 Data/dalvik-cache 将apk中的dex文件安装到dalvik-cache目录下(dex文件是dalvik虚拟机的可执行文件,其大小约为原始apk文件大小的四分之一) 安装过程:复制APK安装包到data/app目录下,解压并扫描安装包,把dex文件(Dalvik字节码)保存到dalvik-cache目录,并data/data目录下创建对应的应用数据目录。 卸载过程:删除安装过程中在上述三个目录下创建的文件及目录。 一、系统应用安装: PackageManagerService处理各种应用的安装,卸载,管理等工作,开机时由systemServer启动此服务 (源文件路径:android\frameworks\base\services\java\com\android\server\PackageManagerService.java)...

设计理念 1、创建一种兼容Java的语言 2、让它比Java更安全,能够静态检测常见的陷阱。如:引用空指针 3、让它比Java更简洁,通过支持variable type inference,higher-order functions (closures),extension functions,mixins and first-class delegation等实现。 4、让它比最成熟的竞争对手Scala语言更加简单。 Kotlin优势 1、简洁: 大大减少样板代码的数量。 2、安全: 避免空指针异常等整个类的错误。 3、互操作性: 充分利用 JVM、Android 和浏览器的现有库。 4、工具友好: 可用任何 Java IDE 或者使用命令行构建。

1.SharePreferences是线程安全的 里面的方法有大量的synchronized来保障。 2.commit是同步写入,会返回执行结果,apply方法是异步写入,并不会返回执行结果; 3.SharePreferences不是进程安全的  4.SharedPreferences是以XML的格式以文件的方式自动保存的,在DDMS中的File Explorer中展开到/data/data//shared_prefs下,可以看到一个叫做SETTING_Infos.xml的文件 总结比较不错文章可以看下面具体分析: http://gityuan.com/2017/06/18/SharedPreferences/ 我的项目应用场景:保存用户名字,密码,手势密码,json字符串, 如果非要保存一个你都不确定大小的东西我建议是,你单独开启一个新的sharedprefernces来保存,如果想把一个集合保存起来怎么保存,如果想把集合中在套一个map集合怎么保存, private void setCateg(List datalist) { Gson gson = new Gson(); String s1 = gson.toJson(datalist); LSharePreference.getInstance(getActivity()).setString(SharePreferenceName.PROGRESS, s1); } /** * 取出json...

每天早晨来写一件今天必须完成事,

Kotlin里使用关键 inline 来表示内联函数,那么到底什么是内联函数呢,内联函数有什么好处呢? 1. 什么是内联inline? 在 Java 里是没有内联这个概念的,所有的函数调用都是普通方法调用,如果了解 Java 虚拟机原理的,可以知道 Java 方法执行的内存模型是基于 Java 虚拟机栈的:每个方法被执行的时候都会创建一个栈帧(Stack Frame),用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法被调用直至执行完成的过程,就对应着一个栈帧入栈、出栈的过程。 也就是说每调用一个方法,都会对应一个栈帧的入栈出栈过程,如果你有一个工具类方法,在某个循环里调用很多次,那就会对应很多次的栈帧入栈、出栈过程。这里首先要记住的一点是,栈帧的创建及入栈、出栈都是有性能损耗的。下面以一个例子来说明,看段代码片段: fun test() { //多次调用 sum() 方法进行求和运算 println(sum(1, 2, 3)) println(sum(100, 200, 300)) println(sum(12, 34))...

1.gradle自带的productFlavor方式 2.360加固保,腾讯云·乐固,友盟 3.https://github.com/mcxiaoke/gradle-packer-plugin列子

 图片所占用的Bitmap大小计算方法,根据我们所放置图片的目录不同,所以图片多多少少长度和宽度会有一些变化,这个变化和我们所用的设备屏幕密度有关,因此可以根据图上的表来计算长和宽 原始图片宽度                 实际显示图片宽度 ————————     = ———————————— 放入目录DensityDpi        当前手机的像素密度 然后根据我们所设置的像素类型ARGB_8888或RGB_888去乘上对应的1px所表示的byte从而得出图片所占用的内存。