- 博客(34)
- 资源 (14)
- 收藏
- 关注
原创 AIDL与Binder的关系
AIDL与Binder是Android跨进程通信的核心机制:AIDL作为接口定义语言,通过自动生成Stub和Proxy类代码,将开发者定义的方法调用转换为Binder可处理的格式;而Binder作为底层通信框架,负责实际的进程间数据传输。开发者只需编写AIDL接口,系统就会自动生成封装Binder调用的代码,使跨进程调用如同本地方法调用般简单。这种分工让AIDL专注于接口定义,Binder处理底层通信,大幅简化了Android跨进程开发的复杂度。
2026-03-12 22:31:19
413
原创 【面试八股】四引用,简答版
虚引用 仅用于跟踪对象回收状态且必须配合引用队列使用。弱引用 无论内存是否充足都会被 GC 发现后回收;强引用 持有对象直至显式释放且不被 GC 回收;软引用 仅在内存不足时被回收;
2026-01-01 19:21:45
121
原创 面试中如何谈Binder?
2. 优势:相比 Linux 传统 IPC(管道、Socket),仅需 **1 次数据拷贝**(传统 IPC 需 2 次完整拷贝:用户态→内核态→目标用户态);Binder 借助内核共享缓存区 + 内存映射(`mmap`),客户端仅拷贝 1 次数据到内核缓存,服务端直接映射读取无需二次拷贝,等效实现高效传输,大幅提升通信效率。自带 UID/PID 身份校验,安全性更强,Binder 通信时会自动携带双方进程的 UID/PID,系统可据此校验进程身份合法性,防止恶意进程冒充调用,保障通信安全。
2025-12-29 23:03:25
273
原创 Android Studio “Cannot resolve symbol” 解决办法
遇到“Cannot resolve symbol” ,尝试多种解决方案,重启AS,重新Sync gradle,Clean build也无解。在此分享,希望友友们都能少走些弯路。在AS中点击“File” -> “Invalidate Caches / Restart”,对话框选择“Invalidate and Restart”,清空 cache 并且重启。然后一片清新。...
2022-02-07 14:56:59
6287
8
原创 Your project path contains non-ASCII characters. 解决办法
报“Your project path contains non-ASCII characters. This will most likely cause the build to fail on Windows. Please move your project to a different directory.”错误的原因是你的项目包含中文路径或项目名称包含中文字符。解决办法:不要使用中文命名的路径,项目名称不要用中文。...
2022-01-07 15:11:51
8151
原创 Android Studio debug 模式无法启动App
现象:按了Android Studio的‘debug app’按钮后,提示安装成功,但是App并没有启动。停留在Forced Closed上。Android Studio版本:3.6.3解决办法:File -> Invalidate Caches / Restart... -> Invalidate and Restart...
2021-12-28 17:10:11
2581
原创 RecyclerView 自动滑动到底部
mRecyclerView.scrollToPosition(adapter.getItemCount()-1);
2017-03-02 15:53:57
29852
8
原创 android Manager下载google servece play 出现Download interrupted: Unexpected HTTP Status 502
错误的网关,设置了无效的代理服务器
2017-02-10 14:11:56
2917
原创 禁用返回键
public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { return true; } return super.onKeyDown(key
2016-11-01 10:05:49
446
转载 Android排错:has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added
异常场景:经常在应用中需要处理一些耗时的工作,诸如读取大文件、访问网络资源等。为了避免因程序假死而带来的糟糕用户体验,通常我们可以通过线程+Handler或者Android提供的AsyncTask来解决该问题,并一般以ProgressDialog等提示性控件来告知用户当前的程序进度。而标题中描述的异常则会常常出现在这样的场景中,并且往往掩盖了导致异常的真正的罪魁祸首。 问题
2016-10-31 15:37:38
348
转载 Android TextView(EditView)文字底部或者中间 加横线
tv = (TextView) this .findViewById(R.id. text_view ); 中间加横线 tv.getPaint().setFlags(Paint. STRIKE_THRU_TEXT_FLAG ); 底部加横线: tv .getPaint().setFlags(Paint. UNDERLINE_TEXT_FLAG );
2016-09-18 09:37:53
805
转载 Android 设置EditText光标颜色及粗细
在android的输入框里,如果要修改光标的颜色及粗细步骤如下两步即可搞定:1.在资源文件drawable下新建一个光标控制color_cursor.xml 2.设置EditText:android:textCursorDrawable="@drawable/color_cursor"http://liyanji
2016-08-26 18:07:48
778
原创 Android软键盘弹出时把布局顶上去的解决方法
在mainfest.xml中,对那个Activity加:android:windowSoftInputMode="adjustResize"
2016-07-12 10:57:50
626
转载 Android实现透明的颜色效果
android Button或者ImageButton背景透明状态设置 设置Button或ImageButton的背景为透明或者半透明 半透明 透明 颜色和不透明度 (alpha) 值以十六进制表示法表示。任何一种颜色的值范围都是 0 到 255(00 到 ff)。对于 alpha,00 表示完全透明,ff 表示完全不透明。表达式顺序是“aabbggrr”,其中
2016-06-17 11:13:47
496
转载 Android Studio 编译不通过,Unable to find optional library: org.apache.http.legacy
如果你使用的 target sdk是23请在build.gradle加入android{ useLibrary 'org.apache.http.legacy' }
2016-03-09 12:36:58
1828
转载 Android sdk content loader 0%的解决方案
Eclipse在启动时,经常会碰到半天启动不起来的情况,罪魁祸首就是“Android sdk content loader 0%”,题主经常是受这玩意的百般折磨,大早上一来就被这扫了工作的激情,浪费了大把时间。Eclipse初始化不成功就干不了活,所以这事必须得解决。经过自己多次亲身测试,发现没有一种办法的百试百灵的,只有通过以下几种方案来一步一步地解决。方法一(关闭后重启):
2015-12-29 11:04:49
399
转载 Android中常用colors.xml
常用的colors.xml: #FFFFFF #FFFFF0 #FFFFE0 #FFFF00 #FFFAFA #FFFAF0 #FFFACD #FFF8DC #FFF5EE #FFF0F5 #FFEFD5 #FFEBCD #FFE4E
2013-12-27 12:02:24
577
原创 Android解决NetworkOnMainThreadException
Android4.0以上的版本不允许UI主线程上执行网络IO因此会报NetworkOnMainThreadException的异常解决办法:将执行网络IO部分放到线程中处理,或者在AsyncTask中运行
2013-12-18 15:00:42
425
原创 EditText将光标挪动到文字的结尾
EditText etEmpNameEdit = (EditText) findViewById(R.id.etEmpNameEdit);Editable text = etEmpNameEdit.getText();etEmpNameEdit.setSelection(text.length());
2013-12-18 10:20:43
476
原创 Android获得屏幕高度和宽度的两种方法
android获取屏幕的高度和宽度用到WindowManager这个类,两种方法: 1、WindowManager wm = (WindowManager) getContext() .getSystemService(Context.WINDOW_SERVICE); int width = wm.
2013-12-11 11:08:44
415
原创 Android解决SuperNotCalledException
程序运行时,抛出如下异常:android.app.SuperNotCalledException did not call through to supper onCreate();原来是Activity的onCreate()函数中没有加super.onCreate(savedInstanceState);修改代码后,运行正常,修改后的代码为:prote
2013-12-10 17:30:24
1144
原创 Android EditText 去边框
EditText的background属性设置为@null就搞定了code:android:background="@null"don't ask me why and what it means.
2013-11-25 16:13:45
779
原创 Android控制ProgressDialog按返回键关闭
只要在创建对话框的时候设置progressDialog.setCancelable(true);一条属性就可以了,就可以了噢。
2013-11-15 17:26:56
881
转载 xCode快捷键
1. 文件CMD + N: 新文件CMD + SHIFT + N: 新项目CMD + O: 打开CMD + S: 保存CMD + SHIFT + S: 另存为CMD + W: 关闭窗口CMD + SHIFT + W: 关闭文件2. 编辑CMD + [: 左缩进CMD + ]: 右缩进CMD + CTRL + LEFT: 折叠CMD +
2013-11-13 11:05:21
441
转载 Mac不使用时关机、睡眠、一直开机的利与弊
当你的Mac电脑暂时不需要使用的时候,你会把它关机,还是睡眠,或者就那么一直保持开机状态呢?各种选择都有什么利弊呢,下面让我们逐一分析一下。让Mac进入睡眠:对大多数Mac用户来说,都会比较偏向使用睡眠,因为睡眠可以简单快速的恢复工作进程,而且睡眠比开机更能够保养硬件。而且当你把Mac从睡眠中唤醒的时候,之前的任何程序、工作进程,窗口几乎都是瞬间进入了工作状态,没有什么延迟。对
2013-11-13 11:02:28
8844
转载 Csdn如何删除上传资源
用户积分在1000分到5999分之间,可以删除当日上传的资源;6000分到15999分之间可以删除前两天上传的资源;16000分到23999分之间可以删除前三天上传的资源;24000分及以上,可以删除前五天上传的资源。如果你现在只有51分,那么不要妄想删除你的资源了。如果你的资源不违法,那么它们将被永久的保留;如果你的资源不符合优快云规定,管理员将替你删除,并且扣
2013-11-12 17:09:19
638
转载 Android软键盘使用及输入法挡住输入框的问题解决
在Android的开发中,有时候会遇到软键盘弹出时挡住输入框的情况。这时候可以设置下软键盘的模式就可以了。有两个版本解决:1.直接用代码修改输入模式:getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE |WindowManager.LayoutParams.SOFT
2013-11-12 14:24:08
1079
转载 Android之EditText 阻止软键盘自动弹出
选择那个acitivity, 把他的window soft input mode设置成stateHidden和 adjustUnspecified Java代码 android:name=".XXXActivity" android:label="@string/app_name" android:screenOr
2013-11-07 18:05:45
542
原创 Android ListView 去阴影
android:fadingEdge="none" android:cacheColorHint="#00000000" android:listSelector="#00000000"
2013-11-07 09:45:57
466
转载 优快云 赚积分方法
常规方式获取可用分1、每天只要回复就可以获得10个可用分。注:回复后的第2天发放。2、每周回复量大于10个帖子,将获得30可用分。注:下一周的周二发放。3、本周获得技术专家分30分以上,将获得40分可用分奖励。注:下一周周二发放。4、如果您的帖子非常精彩,被推荐到论坛首页,为此将奖励您可用分88分。 奖励方案1、每月获得专家分>1000分,并且为大版前3名用户,将会获得
2013-11-06 13:52:06
1012
22
Java程序员面试宝典(pdf版)
2013-11-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅